diff --git a/package.json b/package.json index 66689441..b48a5b78 100644 --- a/package.json +++ b/package.json @@ -87,5 +87,8 @@ }, "engines": { "node": "20.12.2" + }, + "dependencies": { + "debug": "^4.3.7" } } \ No newline at end of file diff --git a/packages/cli/default/agent.template.yml b/packages/cli/default/agent.template.yml index 33d9a5ee..a3bf1745 100644 --- a/packages/cli/default/agent.template.yml +++ b/packages/cli/default/agent.template.yml @@ -18,6 +18,7 @@ constants: - keyManagerSharedSecret - keyManagerSignJWT - keyManagerSignEthTX + - keyManagerSignJOSE - didManagerGetProviders - didManagerFind - didManagerGet @@ -175,9 +176,6 @@ server: # DID Documents - - $require: '@vckit/remote-server?t=function#WebDidDocRouter' - $args: - - keyMapping: - Ed25519: JsonWebKey2020 # Ed25519VerificationKey2020 | JsonWebKey2020 # VC API v1 - - /v1 diff --git a/packages/cli/default/client.yml b/packages/cli/default/client.yml index 6150612f..c1d7e351 100644 --- a/packages/cli/default/client.yml +++ b/packages/cli/default/client.yml @@ -22,6 +22,7 @@ agent: - keyManagerSharedSecret - keyManagerSignJWT - keyManagerSignEthTX + - keyManagerSignJOSE - didManagerGetProviders - didManagerFind - didManagerGet diff --git a/packages/cli/default/default-dev.yml b/packages/cli/default/default-dev.yml index 3c37f9e4..eadd12b1 100644 --- a/packages/cli/default/default-dev.yml +++ b/packages/cli/default/default-dev.yml @@ -19,6 +19,7 @@ constants: - keyManagerSharedSecret - keyManagerSignJWT - keyManagerSignEthTX + - keyManagerSignJOSE - didManagerGetProviders - didManagerFind - didManagerGet @@ -149,9 +150,6 @@ server: # DID Documents - - $require: '@vckit/remote-server?t=function#WebDidDocRouter' - $args: - - keyMapping: - Ed25519: JsonWebKey2020 # Ed25519VerificationKey2020 | JsonWebKey2020 # VC API v1 - - /v1 diff --git a/packages/cli/default/default.yml b/packages/cli/default/default.yml index 3c37f9e4..c1d8941f 100644 --- a/packages/cli/default/default.yml +++ b/packages/cli/default/default.yml @@ -19,6 +19,7 @@ constants: - keyManagerSharedSecret - keyManagerSignJWT - keyManagerSignEthTX + - keyManagerSignJOSE - didManagerGetProviders - didManagerFind - didManagerGet @@ -149,9 +150,6 @@ server: # DID Documents - - $require: '@vckit/remote-server?t=function#WebDidDocRouter' - $args: - - keyMapping: - Ed25519: JsonWebKey2020 # Ed25519VerificationKey2020 | JsonWebKey2020 # VC API v1 - - /v1 @@ -365,6 +363,7 @@ credentialIssuerLD: # - $require: '@veramo/credential-ld#VeramoEd25519Signature2020' - $require: '@veramo/credential-ld#VeramoJsonWebSignature2020' # - $require: '@veramo/credential-ld#VeramoEcdsaSecp256k1RecoverySignature2020' + contextMaps: # The LdDefaultContext is a "catch-all" for now. - $require: '@veramo/credential-ld?t=object#LdDefaultContexts' diff --git a/packages/cli/package.json b/packages/cli/package.json index 9f54a1ff..768b8963 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -50,10 +50,10 @@ "@vckit/remote-server": "workspace:1.0.0-beta.7", "@vckit/renderer": "workspace:1.0.0-beta.7", "@vckit/revocationlist": "workspace:^", + "@vckit/tools": "workspace:^", "@vckit/utils": "workspace:^", "@vckit/vc-api": "workspace:1.0.0-beta.7", - "@vckit/tools": "workspace:^", - "@veramo/core": "5.5.3", + "@veramo/core": "link:../../.tmp_npm/veramo/packages/core", "@veramo/credential-eip712": "5.5.3", "@veramo/credential-ld": "link:../../.tmp_npm/veramo/packages/credential-ld", "@veramo/credential-status": "link:../../.tmp_npm/veramo/packages/credential-status", @@ -68,10 +68,10 @@ "@veramo/did-provider-pkh": "5.5.3", "@veramo/did-provider-web": "5.5.3", "@veramo/did-resolver": "5.5.3", - "@veramo/key-manager": "5.5.3", - "@veramo/kms-local": "5.5.3", + "@veramo/key-manager": "link:../../.tmp_npm/veramo/packages/key-manager", + "@veramo/kms-local": "link:../../.tmp_npm/veramo/packages/kms-local", "@veramo/message-handler": "5.5.3", - "@veramo/remote-client": "5.5.3", + "@veramo/remote-client": "link:../../.tmp_npm/veramo/packages/remote-client", "@veramo/selective-disclosure": "5.5.3", "@veramo/url-handler": "5.5.3", "@veramo/utils": "5.5.3", diff --git a/packages/core-types/src/plugin.schema.json b/packages/core-types/src/plugin.schema.json index dff4f07b..5ed9fd96 100644 --- a/packages/core-types/src/plugin.schema.json +++ b/packages/core-types/src/plugin.schema.json @@ -861,6 +861,24 @@ ], "description": "Input arguments for {@link IKeyManager.keyManagerSignEthTX | keyManagerSignEthTX }" }, + "IKeyManagerSignJOSE": { + "type": "object", + "properties": { + "kid": { + "type": "string", + "description": "Key ID" + }, + "data": { + "type": "string", + "description": "Data to sign" + } + }, + "required": [ + "kid", + "data" + ], + "description": "Input arguments for {@link IKeyManager.IKeyManagerSignJOSE | IKeyManagerSignJOSE }" + }, "IKeyManagerSignJWTArgs": { "type": "object", "properties": { @@ -1021,6 +1039,15 @@ "type": "string" } }, + "keyManagerSignJOSE": { + "description": "Signs JOSE object", + "arguments": { + "$ref": "#/components/schemas/IKeyManagerSignJOSE" + }, + "returnType": { + "type": "string" + } + }, "keyManagerSignJWT": { "description": "Signs JWT", "arguments": { @@ -4338,7 +4365,8 @@ "lds", "EthereumEip712Signature2021", "OpenAttestationMerkleProofSignature2018", - "MerkleDisclosureProof2021" + "MerkleDisclosureProof2021", + "EnvelopingProofJose" ], "description": "The type of encoding to be used for the Verifiable Credential or Presentation to be generated.\n\nOnly `jwt` , `lds` and `OpenAttestationMerkleProofSignature2018` are supported at the moment." }, @@ -5095,7 +5123,8 @@ "lds", "EthereumEip712Signature2021", "OpenAttestationMerkleProofSignature2018", - "MerkleDisclosureProof2021" + "MerkleDisclosureProof2021", + "EnvelopingProofJose" ], "description": "The type of encoding to be used for the Verifiable Credential or Presentation to be generated.\n\nOnly `jwt` , `lds` and `OpenAttestationMerkleProofSignature2018` are supported at the moment." }, @@ -6596,7 +6625,8 @@ "lds", "EthereumEip712Signature2021", "OpenAttestationMerkleProofSignature2018", - "MerkleDisclosureProof2021" + "MerkleDisclosureProof2021", + "EnvelopingProofJose" ], "description": "The type of encoding to be used for the Verifiable Credential or Presentation to be generated.\n\nOnly `jwt` , `lds` and `OpenAttestationMerkleProofSignature2018` are supported at the moment." }, diff --git a/packages/core-types/src/types/ICredentialIssuer.ts b/packages/core-types/src/types/ICredentialIssuer.ts index 8d293b52..0419e0c9 100644 --- a/packages/core-types/src/types/ICredentialIssuer.ts +++ b/packages/core-types/src/types/ICredentialIssuer.ts @@ -22,7 +22,8 @@ export type ProofFormat = | 'lds' | 'EthereumEip712Signature2021' | 'OpenAttestationMerkleProofSignature2018' - | 'MerkleDisclosureProof2021'; + | 'MerkleDisclosureProof2021' + | 'EnvelopingProofJose'; /** * Encapsulates the parameters required to create a diff --git a/packages/core-types/src/types/IKeyManager.ts b/packages/core-types/src/types/IKeyManager.ts index ab8887f0..26bc8f09 100644 --- a/packages/core-types/src/types/IKeyManager.ts +++ b/packages/core-types/src/types/IKeyManager.ts @@ -188,6 +188,22 @@ export interface IKeyManagerSignEthTXArgs { transaction: object; } +/** + * Input arguments for {@link IKeyManager.IKeyManagerSignJOSE | IKeyManagerSignJOSE} + * @public + */ +export interface IKeyManagerSignJOSE { + /** + * Key ID + */ + kid: string; + + /** + * Data to sign + */ + data: string; +} + /** * Key manager interface. * @@ -267,4 +283,7 @@ export interface IKeyManager extends IPluginMethodMap { /** Signs Ethereum transaction */ keyManagerSignEthTX(args: IKeyManagerSignEthTXArgs): Promise; + + /** Signs JOSE object */ + keyManagerSignJOSE(args: IKeyManagerSignJOSE): Promise; } diff --git a/packages/credential-router/src/action-handler.ts b/packages/credential-router/src/action-handler.ts index 9bedeaa7..bd7cdc18 100644 --- a/packages/credential-router/src/action-handler.ts +++ b/packages/credential-router/src/action-handler.ts @@ -37,7 +37,7 @@ export class CredentialRouter implements IAgentPlugin { async routeCreationVerifiableCredential( args: ICreateVerifiableCredentialArgs, - context: IssuerAgentContext + context: IssuerAgentContext, ): Promise { const { proofFormat, credential } = args; try { @@ -54,7 +54,7 @@ export class CredentialRouter implements IAgentPlugin { }); } else { throw new Error( - 'invalid_setup: your agent does not seem to have CredentialOA plugin installed' + 'invalid_setup: your agent does not seem to have CredentialOA plugin installed', ); } break; @@ -69,10 +69,11 @@ export class CredentialRouter implements IAgentPlugin { }); } else { throw new Error( - 'invalid_setup: your agent does not seem to have CredentialMDP plugin installed' + 'invalid_setup: your agent does not seem to have CredentialMDP plugin installed', ); } break; + default: if (typeof context.agent.createVerifiableCredential === 'function') { verifiableCredential = @@ -82,7 +83,7 @@ export class CredentialRouter implements IAgentPlugin { }); } else { throw new Error( - 'invalid_setup: your agent does not seem to have CredentialW3c plugin installed' + 'invalid_setup: your agent does not seem to have CredentialW3c plugin installed', ); } break; @@ -95,7 +96,7 @@ export class CredentialRouter implements IAgentPlugin { async routeVerificationCredential( args: IVerifyCredentialArgs, - context: VerifierAgentContext + context: VerifierAgentContext, ): Promise { const { credential } = args; @@ -107,7 +108,7 @@ export class CredentialRouter implements IAgentPlugin { return await context.agent.verifyCredentialOA(args); } else { throw new Error( - 'invalid_setup: your agent does not seem to have CredentialOA plugin installed' + 'invalid_setup: your agent does not seem to have CredentialOA plugin installed', ); } case DocumentFormat.MerkleDisclosureProof2021: @@ -115,7 +116,7 @@ export class CredentialRouter implements IAgentPlugin { return await context.agent.verifyCredentialMDP(args); } else { throw new Error( - 'invalid_setup: your agent does not seem to have CredentialMerkleDisclosureProof plugin installed' + 'invalid_setup: your agent does not seem to have CredentialMerkleDisclosureProof plugin installed', ); } default: @@ -123,7 +124,7 @@ export class CredentialRouter implements IAgentPlugin { return await context.agent.verifyCredential(args); } else { throw new Error( - 'invalid_setup: your agent does not seem to have CredentialW3c plugin installed' + 'invalid_setup: your agent does not seem to have CredentialW3c plugin installed', ); } } @@ -134,7 +135,7 @@ export class CredentialRouter implements IAgentPlugin { } function detectDocumentType( - document: W3CVerifiableCredential | W3CVerifiablePresentation + document: W3CVerifiableCredential | W3CVerifiablePresentation, ): DocumentFormat { if ( typeof document === 'string' || diff --git a/packages/demo-explorer/src/components/CredentialInfo.tsx b/packages/demo-explorer/src/components/CredentialInfo.tsx index 3283b710..8158cb00 100644 --- a/packages/demo-explorer/src/components/CredentialInfo.tsx +++ b/packages/demo-explorer/src/components/CredentialInfo.tsx @@ -172,7 +172,7 @@ const CredentialInfo: React.FC = ({ {format(new Date(credentialData.issuanceDate), 'PPP')} - {credentialData.proof.type} + {credentialData?.proof?.type ?? ''} {credentialData.id} diff --git a/packages/encrypted-storage/package.json b/packages/encrypted-storage/package.json index a30ba230..8f7b2559 100644 --- a/packages/encrypted-storage/package.json +++ b/packages/encrypted-storage/package.json @@ -40,6 +40,7 @@ "@vckit/core-types": "workspace:^", "@veramo/data-store": "5.5.3", "@veramo/utils": "5.5.3", + "debug": "^4.3.7", "dotenv": "^16.3.1", "express-interceptor": "^1.2.0", "typeorm": "^0.3.19", @@ -47,5 +48,8 @@ }, "publishConfig": { "access": "public" + }, + "devDependencies": { + "@types/debug": "^4.1.12" } } diff --git a/packages/encrypted-storage/src/encrypted-store-middleware.ts b/packages/encrypted-storage/src/encrypted-store-middleware.ts index 628c0310..e3d1b993 100644 --- a/packages/encrypted-storage/src/encrypted-store-middleware.ts +++ b/packages/encrypted-storage/src/encrypted-store-middleware.ts @@ -2,6 +2,9 @@ import { IAgent, IEncrypteAndStoreDataResult } from '@vckit/core-types'; import { NextFunction, Request, Response, Router } from 'express'; import interceptor from 'express-interceptor'; import { RequestWithAgent } from './encrypted-store-router.js'; +import Debug from 'debug'; + +const debug = Debug('vckit:encrypted-storage'); /** * @@ -14,7 +17,7 @@ export function encryptedStoreMiddleware(args: { const intercept = interceptor(function ( req: RequestWithAgent, - res: Response + res: Response, ) { return { isInterceptable: function () { @@ -32,7 +35,7 @@ export function encryptedStoreMiddleware(args: { ) { updatedBody = await encryptAndStoreData( req.agent, - JSON.parse(body) + JSON.parse(body), ); } @@ -50,12 +53,17 @@ export function encryptedStoreMiddleware(args: { } async function encryptAndStoreData(agent: IAgent, payload: object) { - const { id, key }: IEncrypteAndStoreDataResult = await agent.execute( - 'encryptAndStoreData', - { - data: payload, - } - ); - - return JSON.stringify({ id, key, credential: payload }); + try { + const { id, key }: IEncrypteAndStoreDataResult = await agent.execute( + 'encryptAndStoreData', + { + data: payload, + }, + ); + + return JSON.stringify({ id, key, credential: payload }); + } catch (error) { + debug(error); + return JSON.stringify({ credential: payload }); + } } diff --git a/packages/remote-server/package.json b/packages/remote-server/package.json index 0c2c7a87..cdab46ac 100644 --- a/packages/remote-server/package.json +++ b/packages/remote-server/package.json @@ -13,7 +13,7 @@ "dependencies": { "@transmute/ed25519-key-pair": "0.7.0-unstable.82", "@vckit/core-types": "workspace:^", - "@veramo/remote-client": "5.5.3", + "@veramo/remote-client": "link:../../.tmp_npm/veramo/packages/remote-client", "@veramo/utils": "5.5.3", "debug": "^4.3.4", "did-resolver": "^4.1.0", diff --git a/packages/remote-server/src/web-did-doc-router.ts b/packages/remote-server/src/web-did-doc-router.ts index 0b0e2cf4..5d5b5de3 100644 --- a/packages/remote-server/src/web-did-doc-router.ts +++ b/packages/remote-server/src/web-did-doc-router.ts @@ -21,13 +21,13 @@ interface RequestWithAgentDIDManager extends Request { */ export const didDocEndpoint = '/.well-known/did.json'; -const keyMapping: Record = { - Secp256k1: 'EcdsaSecp256k1VerificationKey2019', - Secp256r1: 'EcdsaSecp256r1VerificationKey2019', - Ed25519: 'Ed25519VerificationKey2020', - X25519: 'X25519KeyAgreementKey2019', - Bls12381G1: 'Bls12381G1Key2020', - Bls12381G2: 'Bls12381G2Key2020', +const defaultKeyMapping: Record = { + Secp256k1: ['EcdsaSecp256k1VerificationKey2019'], + Secp256r1: ['EcdsaSecp256r1VerificationKey2019'], + Ed25519: ['Ed25519VerificationKey2020', 'JsonWebKey2020', 'JsonWebKey'], + X25519: ['X25519KeyAgreementKey2019'], + Bls12381G1: ['Bls12381G1Key2020'], + Bls12381G2: ['Bls12381G2Key2020'], }; /** @@ -61,7 +61,7 @@ export const WebDidDocRouter = (options: WebDidDocRouterOptions): Router => { const publicKeyBytes = hexToBytes(key.publicKeyHex); const publicKeyMultibase = bytesToMultibase( hexToBytes(key.publicKeyHex), - 'Ed25519' + 'Ed25519', ); const controller = `did:key:${publicKeyMultibase}`; @@ -85,91 +85,117 @@ export const WebDidDocRouter = (options: WebDidDocRouterOptions): Router => { wk.id = `${identifier.did}#${key.kid}-key-${i}`; wk.controller = identifier.did; return wk; - }) + }), ); return keys as JsonWebKey2020[]; }; const didDocForIdentifier = async (identifier: IIdentifier) => { - const km = options.keyMapping - ? { ...keyMapping, ...options.keyMapping } - : keyMapping; const contexts = new Set(); const allKeys: (VerificationMethod | VerificationMethod[])[] = await Promise.all( - identifier.keys.map(async (key: IKey) => { - const vm: VerificationMethod = { - id: identifier.did + '#' + key.kid, - type: km[key.type], - controller: identifier.did, - publicKeyHex: key.publicKeyHex, - }; - - switch (vm.type) { - case 'EcdsaSecp256k1VerificationKey2019': - case 'EcdsaSecp256k1RecoveryMethod2020': - contexts.add('https://w3id.org/security/v2'); - contexts.add( - 'https://w3id.org/security/suites/secp256k1recovery-2020/v2' - ); - return vm; - - case 'Ed25519VerificationKey2018': - contexts.add('https://w3id.org/security/suites/ed25519-2018/v1'); - vm.publicKeyBase58 = bytesToBase58(hexToBytes(key.publicKeyHex)); - delete vm.publicKeyHex; - return vm; - case 'X25519KeyAgreementKey2019': - contexts.add('https://w3id.org/security/suites/x25519-2019/v1'); - vm.publicKeyBase58 = bytesToBase58(hexToBytes(key.publicKeyHex)); - delete vm.publicKeyHex; - return vm; - case 'Ed25519VerificationKey2020': - contexts.add('https://w3id.org/security/suites/ed25519-2020/v1'); - vm.publicKeyMultibase = bytesToMultibase( - hexToBytes(key.publicKeyHex), - 'Ed25519' - ); - delete vm.publicKeyHex; - return vm; - case 'X25519KeyAgreementKey2020': - contexts.add('https://w3id.org/security/suites/x25519-2020/v1'); - vm.publicKeyMultibase = bytesToMultibase( - hexToBytes(key.publicKeyHex), - 'Ed25519' - ); - delete vm.publicKeyHex; - return vm; - case 'EcdsaSecp256r1VerificationKey2019': - contexts.add('https://w3id.org/security/v2'); - return vm; - case 'Bls12381G1Key2020': - case 'Bls12381G2Key2020': - contexts.add('https://w3id.org/security/bbs/v1'); - return vm; - - case 'JsonWebKey2020': - const webKeys = (await webKeysForIdentifier(identifier)).map( - (k) => { - return { - id: k.id, - type: k.type, + identifier.keys.flatMap(async (key: IKey) => { + const supportedTypes = defaultKeyMapping[key.type] || [key.type]; // Get supported types for this key + const verificationMethods: VerificationMethod[] = []; + + for (const type of supportedTypes) { + const vm: VerificationMethod = { + id: `${identifier.did}#${key.kid}`, + type: type, + controller: identifier.did, + publicKeyHex: key.publicKeyHex, + }; + + switch (type) { + case 'EcdsaSecp256k1VerificationKey2019': + case 'EcdsaSecp256k1RecoveryMethod2020': + contexts.add('https://w3id.org/security/v2'); + contexts.add( + 'https://w3id.org/security/suites/secp256k1recovery-2020/v2', + ); + verificationMethods.push(vm); + break; + + case 'Ed25519VerificationKey2018': + contexts.add( + 'https://w3id.org/security/suites/ed25519-2018/v1', + ); + vm.publicKeyBase58 = bytesToBase58( + hexToBytes(key.publicKeyHex), + ); + delete vm.publicKeyHex; + verificationMethods.push(vm); + break; + + case 'X25519KeyAgreementKey2019': + contexts.add('https://w3id.org/security/suites/x25519-2019/v1'); + vm.publicKeyBase58 = bytesToBase58( + hexToBytes(key.publicKeyHex), + ); + delete vm.publicKeyHex; + verificationMethods.push(vm); + break; + + case 'Ed25519VerificationKey2020': + contexts.add( + 'https://w3id.org/security/suites/ed25519-2020/v1', + ); + vm.publicKeyMultibase = bytesToMultibase( + hexToBytes(key.publicKeyHex), + 'Ed25519', + ); + delete vm.publicKeyHex; + verificationMethods.push(vm); + break; + + case 'X25519KeyAgreementKey2020': + contexts.add('https://w3id.org/security/suites/x25519-2020/v1'); + vm.publicKeyMultibase = bytesToMultibase( + hexToBytes(key.publicKeyHex), + 'Ed25519', + ); + delete vm.publicKeyHex; + verificationMethods.push(vm); + break; + + case 'EcdsaSecp256r1VerificationKey2019': + contexts.add('https://w3id.org/security/v2'); + verificationMethods.push(vm); + break; + + case 'Bls12381G1Key2020': + case 'Bls12381G2Key2020': + contexts.add('https://w3id.org/security/bbs/v1'); + verificationMethods.push(vm); + break; + + case 'JsonWebKey2020': + case 'JsonWebKey': + const webKeys = (await webKeysForIdentifier(identifier)).map( + (k, i) => ({ + id: `${identifier.did}#${key.kid}-${type}-key-${i}`, + type: type, controller: k.controller, publicKeyJwk: k.publicKeyJwk, - } as VerificationMethod; + }), + ); + + if (webKeys.length > 0) { + contexts.add('https://w3id.org/security/suites/jws-2020/v1'); } - ); - if (webKeys.length > 0) { - contexts.add('https://w3id.org/security/suites/jws-2020/v1'); - } - return webKeys; + verificationMethods.push(...webKeys); + break; - default: - return vm; + default: + verificationMethods.push(vm); + break; + } } - }) + + return verificationMethods; + }), ); const flattenAllKeys: VerificationMethod[] = allKeys.flat(); @@ -178,8 +204,8 @@ export const WebDidDocRouter = (options: WebDidDocRouterOptions): Router => { const keyAgreementKeyIds = flattenAllKeys .filter((key) => ['Ed25519VerificationKey2018', 'X25519KeyAgreementKey2019'].includes( - key.type - ) + key.type, + ), ) .map((key) => key.id); const signingKeyIds = flattenAllKeys @@ -235,7 +261,7 @@ export const WebDidDocRouter = (options: WebDidDocRouterOptions): Router => { res.status(404).send(e); } } - } + }, ); router.get('/keys/:did', async (req: RequestWithAgentDIDManager, res) => { diff --git a/packages/vc-api/src/controllers/issuer-controller.ts b/packages/vc-api/src/controllers/issuer-controller.ts index 9cb4fc44..e3d9a61a 100644 --- a/packages/vc-api/src/controllers/issuer-controller.ts +++ b/packages/vc-api/src/controllers/issuer-controller.ts @@ -14,13 +14,14 @@ export const issueCredential = async (req: RequestWithAgent, res: Response) => { } const payload = { - credential: req.body.credential, ...DEFAULT_CONFIG, + credential: req.body.credential, + proofFormat: req.body.options.proofFormat ?? DEFAULT_CONFIG.proofFormat, }; const verifiableCredential = await req.agent.execute( 'routeCreationVerifiableCredential', - payload + payload, ); res.status(201).json(verifiableCredential); } catch (e) { @@ -31,7 +32,7 @@ export const issueCredential = async (req: RequestWithAgent, res: Response) => { export const updateCredentialStatus = async ( req: RequestWithAgent, - res: Response + res: Response, ) => { try { if (!req.agent) { diff --git a/packages/vc-api/src/vc-api-schemas/vc-api-v2.yaml b/packages/vc-api/src/vc-api-schemas/vc-api-v2.yaml index dee6d175..5539423f 100644 --- a/packages/vc-api/src/vc-api-schemas/vc-api-v2.yaml +++ b/packages/vc-api/src/vc-api-schemas/vc-api-v2.yaml @@ -791,7 +791,6 @@ components: - created - verificationMethod - proofPurpose - - proofValue properties: type: type: string @@ -825,16 +824,19 @@ components: type: string description: Value of the Linked Data proof. VerifiableCredential: - type: object - description: A JSON-LD Verifiable Credential with a proof. - allOf: - - $ref: '#/components/schemas/Credential' + oneOf: + - type: string + description: An Enveloping Proof Verifiable Credential. - type: object - required: - - proof - properties: - proof: - $ref: '#/components/schemas/LinkedDataProof' + description: A JSON-LD Verifiable Credential with a proof. + allOf: + - $ref: '#/components/schemas/Credential' + - type: object + required: + - proof + properties: + proof: + $ref: '#/components/schemas/LinkedDataProof' DeriveCredentialOptions: type: object additionalProperties: false @@ -1027,6 +1029,9 @@ components: type: type: string description: The type of credential status to issue the credential with + proofFormat: + type: string + description: The format of the proof to be included in the credential. VerifyCredentialRequest: type: object properties: diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a60196e4..026c6785 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,10 @@ overrides: importers: .: + dependencies: + debug: + specifier: ^4.3.7 + version: 4.3.7(supports-color@6.1.0) devDependencies: '@ethersproject/contracts': specifier: ^5.7.0 @@ -107,7 +111,7 @@ importers: version: 0.4.0 lerna: specifier: 8.0.1 - version: 8.0.1 + version: 8.0.1(debug@4.3.7) lerna-changelog: specifier: 2.2.0 version: 2.2.0 @@ -164,7 +168,7 @@ importers: version: 0.3.0-unstable.10(expo@51.0.5)(react-native@0.74.1) '@transmute/did-web': specifier: 0.7.0-unstable.82 - version: 0.7.0-unstable.82 + version: 0.7.0-unstable.82(debug@4.3.7) '@transmute/vc-status-rl-2020': specifier: 0.7.0-unstable.82 version: 0.7.0-unstable.82(expo@51.0.5)(react-native@0.74.1) @@ -234,6 +238,9 @@ importers: '@vckit/core-types': specifier: workspace:^ version: link:../core-types + '@vckit/credential-data-integrity': + specifier: workspace:^ + version: link:../credential-data-integrity '@vckit/credential-merkle-disclosure-proof': specifier: workspace:1.0.0-beta.7 version: link:../credential-merkle-disclosure-proof @@ -268,8 +275,8 @@ importers: specifier: workspace:1.0.0-beta.7 version: link:../vc-api '@veramo/core': - specifier: 5.5.3 - version: 5.5.3 + specifier: link:../../.tmp_npm/veramo/packages/core + version: link:../../.tmp_npm/veramo/packages/core '@veramo/credential-eip712': specifier: 5.5.3 version: 5.5.3 @@ -313,17 +320,17 @@ importers: specifier: 5.5.3 version: 5.5.3 '@veramo/key-manager': - specifier: 5.5.3 - version: 5.5.3 + specifier: link:../../.tmp_npm/veramo/packages/key-manager + version: link:../../.tmp_npm/veramo/packages/key-manager '@veramo/kms-local': - specifier: 5.5.3 - version: 5.5.3 + specifier: link:../../.tmp_npm/veramo/packages/kms-local + version: link:../../.tmp_npm/veramo/packages/kms-local '@veramo/message-handler': specifier: 5.5.3 version: 5.5.3 '@veramo/remote-client': - specifier: 5.5.3 - version: 5.5.3 + specifier: link:../../.tmp_npm/veramo/packages/remote-client + version: link:../../.tmp_npm/veramo/packages/remote-client '@veramo/selective-disclosure': specifier: 5.5.3 version: 5.5.3 @@ -353,7 +360,7 @@ importers: version: 3.6.0 debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@6.1.0) + version: 4.3.4 did-resolver: specifier: ^4.1.0 version: 4.1.0 @@ -465,7 +472,7 @@ importers: version: 2.0.6 debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@6.1.0) + version: 4.3.4 did-jwt-vc: specifier: ^3.2.15 version: 3.2.15 @@ -480,6 +487,31 @@ importers: specifier: 5.1.6 version: 5.1.6 + packages/credential-data-integrity: + dependencies: + '@digitalbazaar/data-integrity': + specifier: ^2.1.0 + version: 2.5.0(expo@51.0.5)(react-native@0.74.1) + '@digitalbazaar/ed25519-multikey': + specifier: ^1.1.0 + version: 1.2.0 + '@digitalbazaar/eddsa-rdfc-2022-cryptosuite': + specifier: ^1.0.1 + version: 1.1.0(expo@51.0.5)(react-native@0.74.1) + '@vckit/core-types': + specifier: workspace:* + version: link:../core-types + '@veramo/credential-ld': + specifier: link:../../.tmp_npm/veramo/packages/credential-ld + version: link:../../.tmp_npm/veramo/packages/credential-ld + '@veramo/utils': + specifier: 5.5.3 + version: 5.5.3 + devDependencies: + typescript: + specifier: 5.3.3 + version: 5.3.3 + packages/credential-merkle-disclosure-proof: dependencies: '@digitalcredentials/jsonld-signatures': @@ -505,7 +537,7 @@ importers: version: 5.5.3 debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@6.1.0) + version: 4.3.4 flat: specifier: 5.0.2 version: 5.0.2 @@ -787,7 +819,7 @@ importers: version: 8.2.3(@types/react@18.2.46)(react@18.2.0) '@web3-react/walletconnect': specifier: ^8.2.3 - version: 8.2.3(@types/react@18.2.46)(react@18.2.0) + version: 8.2.3(@types/react@18.2.46)(debug@4.3.7)(react@18.2.0) '@yudiel/react-qr-scanner': specifier: ^1.2.4 version: 1.2.10(react-dom@18.2.0)(react@18.2.0) @@ -856,7 +888,7 @@ importers: version: 6.21.1(react-dom@18.2.0)(react@18.2.0) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) + version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(debug@4.3.7)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) semantic-release: specifier: ^22.0.12 version: 22.0.12(typescript@5.1.6) @@ -1019,7 +1051,7 @@ importers: version: 29.7.0(@types/node@20.10.6)(ts-node@10.9.2) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) + version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(debug@4.3.7)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) ts-jest: specifier: 29.1.1 version: 29.1.1(@babel/core@7.24.5)(babel-jest@29.7.0)(jest@29.7.0)(typescript@5.1.6) @@ -1041,6 +1073,9 @@ importers: '@veramo/utils': specifier: 5.5.3 version: 5.5.3 + debug: + specifier: ^4.3.7 + version: 4.3.7(supports-color@6.1.0) dotenv: specifier: ^16.3.1 version: 16.4.5 @@ -1053,6 +1088,10 @@ importers: uuid: specifier: ^9.0.1 version: 9.0.1 + devDependencies: + '@types/debug': + specifier: ^4.1.12 + version: 4.1.12 packages/example-documents: devDependencies: @@ -1159,7 +1198,7 @@ importers: version: 18.2.0(react@18.2.0) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.5.6)(esbuild@0.18.20)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) + version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.5.6)(debug@4.3.7)(esbuild@0.18.20)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) storybook: specifier: ^7.1.0-rc.2 version: 7.6.19 @@ -1185,14 +1224,14 @@ importers: specifier: workspace:^ version: link:../core-types '@veramo/remote-client': - specifier: 5.5.3 - version: 5.5.3 + specifier: link:../../.tmp_npm/veramo/packages/remote-client + version: link:../../.tmp_npm/veramo/packages/remote-client '@veramo/utils': specifier: 5.5.3 version: 5.5.3 debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@6.1.0) + version: 4.3.4 did-resolver: specifier: ^4.1.0 version: 4.1.0 @@ -1263,7 +1302,7 @@ importers: version: 0.3.0-unstable.10(expo@51.0.5)(react-native@0.74.1) '@transmute/did-web': specifier: 0.7.0-unstable.82 - version: 0.7.0-unstable.82 + version: 0.7.0-unstable.82(debug@4.3.7) '@transmute/ed25519-signature-2018': specifier: 0.7.0-unstable.82 version: 0.7.0-unstable.82(expo@51.0.5)(react-native@0.74.1) @@ -1338,7 +1377,7 @@ importers: version: link:../core-types debug: specifier: ^4.3.4 - version: 4.3.4(supports-color@6.1.0) + version: 4.3.4 did-resolver: specifier: ^4.1.0 version: 4.1.0 @@ -1946,7 +1985,7 @@ packages: '@babel/traverse': 7.24.5 '@babel/types': 7.24.5 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 @@ -1972,7 +2011,7 @@ packages: '@babel/traverse': 7.24.5 '@babel/types': 7.24.5 convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -2060,7 +2099,7 @@ packages: '@babel/core': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.5 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -3457,7 +3496,7 @@ packages: '@babel/helper-split-export-declaration': 7.24.5 '@babel/parser': 7.24.5 '@babel/types': 7.24.5 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -3691,7 +3730,7 @@ packages: cosmiconfig-typescript-loader: 1.0.9(@types/node@20.10.6)(cosmiconfig@7.1.0)(typescript@5.1.6) cross-spawn: 7.0.3 lodash: 4.17.21 - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(debug@4.3.7)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) semver: 7.6.2 webpack-merge: 5.10.0 transitivePeerDependencies: @@ -3930,6 +3969,43 @@ packages: resolution: {integrity: sha512-VKflyFbcid6xH3FJMrd8U9DeCjbYXa2aO3l8yy7MzP6O/0v0EZTV56hMfJT5fN6TSVtQmShv2R3oPCFqFbc2Tg==} dev: false + /@digitalbazaar/data-integrity@2.5.0(expo@51.0.5)(react-native@0.74.1): + resolution: {integrity: sha512-ohIieLfgtPQU9BYfj0eKNiz55/ZDOk5YSE9FN/Hn0eXzI8WQzLkzRvC8pvBnzuzXDgCsjPdSqYvzok5PoClMBQ==} + engines: {node: '>=18'} + dependencies: + base58-universal: 2.0.0 + base64url-universal: 2.0.0 + jsonld-signatures: 11.3.0(expo@51.0.5)(react-native@0.74.1) + transitivePeerDependencies: + - domexception + - expo + - react-native + - web-streams-polyfill + dev: false + + /@digitalbazaar/ed25519-multikey@1.2.0: + resolution: {integrity: sha512-lNCYUbm9sz+dHzdnFyZYZ3m/+h+vHVF5mGldVYU8naKOuTnKz/bcNUg92ro4MyTMyS6BRJTSHC3z6oQi6bBNeg==} + engines: {node: '>=16'} + dependencies: + '@noble/ed25519': 1.7.3 + base58-universal: 2.0.0 + base64url-universal: 2.0.0 + dev: false + + /@digitalbazaar/eddsa-rdfc-2022-cryptosuite@1.1.0(expo@51.0.5)(react-native@0.74.1): + resolution: {integrity: sha512-yQArs97y7BJegWEzV2NJWA658WSYST5RNn9jDpUXT4sGi8jk4ojXuCV3veXTc2YxGflz0cpUkIydtZR640kMbw==} + engines: {node: '>=18'} + dependencies: + '@digitalbazaar/ed25519-multikey': 1.2.0 + jsonld: /@digitalcredentials/jsonld@5.2.1(expo@51.0.5)(react-native@0.74.1) + rdf-canonize: 4.0.1 + transitivePeerDependencies: + - domexception + - expo + - react-native + - web-streams-polyfill + dev: false + /@digitalbazaar/security-context@1.0.1: resolution: {integrity: sha512-0WZa6tPiTZZF8leBtQgYAfXQePFQp2z5ivpCEN/iZguYYZ0TB9qRmWtan5XH6mNFuusHtMcyIzAcReyE6rZPhA==} dev: false @@ -4766,7 +4842,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) espree: 9.6.1 globals: 13.24.0 ignore: 5.3.1 @@ -5139,7 +5215,7 @@ packages: chalk: 4.1.2 ci-info: 3.9.0 connect: 3.7.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) env-editor: 0.4.2 fast-glob: 3.3.2 find-yarn-workspace-root: 2.0.0 @@ -5212,7 +5288,7 @@ packages: '@expo/plist': 0.1.3 '@expo/sdk-runtime-versions': 1.0.0 chalk: 4.1.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) find-up: 5.0.0 getenv: 1.0.0 glob: 7.1.6 @@ -5272,7 +5348,7 @@ packages: resolution: {integrity: sha512-OtB9XVHWaXidLbHvrVDeeXa09yvTl3+IQN884sO6PhIi2/StXfgSH/9zC7IvzrDB8kW3EBJ1PPLuCUJ2hxAT7Q==} dependencies: chalk: 4.1.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) dotenv: 16.4.5 dotenv-expand: 11.0.6 getenv: 1.0.0 @@ -5317,7 +5393,7 @@ packages: '@expo/json-file': 8.3.3 '@expo/spawn-async': 1.7.2 chalk: 4.1.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) find-yarn-workspace-root: 2.0.0 fs-extra: 9.1.0 getenv: 1.0.0 @@ -5374,7 +5450,7 @@ packages: '@expo/image-utils': 0.5.1 '@expo/json-file': 8.3.3 '@react-native/normalize-colors': 0.74.83 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) expo-modules-autolinking: 1.11.1 fs-extra: 9.1.0 resolve-from: 5.0.0 @@ -5504,7 +5580,7 @@ packages: '@fortawesome/react-fontawesome': 0.1.19(@fortawesome/fontawesome-svg-core@1.2.36)(react@16.14.0) '@govtechsg/open-attestation': 6.5.1 crypto-browserify: 3.12.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) penpal: 5.3.0 penpal-v4: /penpal@4.1.1 react: 16.14.0 @@ -5525,8 +5601,8 @@ packages: /@govtechsg/dnsprove@2.7.1: resolution: {integrity: sha512-OtDPQWfWzoLN09B8NM0Noya82AJ1M+kValqbKbMABN0GeRHgoNoGaeMvsh7oVT7pfGFMe7mwAskEQ4o1QF7H6w==} dependencies: - axios: 1.6.8(debug@4.3.4) - debug: 4.3.4(supports-color@6.1.0) + axios: 1.6.8(debug@4.3.7) + debug: 4.3.7(supports-color@6.1.0) runtypes: 6.7.0 transitivePeerDependencies: - supports-color @@ -5547,7 +5623,7 @@ packages: /@govtechsg/oa-encryption@1.3.5: resolution: {integrity: sha512-wBraQPBBpvfwrJ2ujhrihHndIixjgFGK/AyNG6KjHaWMwN9TrOh0MD+JroL23+z8ku4uM2gZgszG18ui6Ikx3A==} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.4 node-forge: 1.3.1 transitivePeerDependencies: - supports-color @@ -5558,8 +5634,8 @@ packages: dependencies: '@govtechsg/dnsprove': 2.7.1 '@govtechsg/open-attestation': 6.9.2 - axios: 1.6.8(debug@4.3.4) - debug: 4.3.4(supports-color@6.1.0) + axios: 1.6.8(debug@4.3.7) + debug: 4.3.7(supports-color@6.1.0) did-resolver: 4.1.0 ethers: 5.7.2 ethr-did-resolver: 8.1.2 @@ -5581,7 +5657,7 @@ packages: ajv: 8.13.0 ajv-formats: 2.1.1(ajv@8.13.0) cross-fetch: 3.1.8 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) ethers: 5.7.2 flatley: 5.2.0 js-base64: 3.7.7 @@ -5603,7 +5679,7 @@ packages: dependencies: '@govtechsg/jsonld': 0.1.1 cross-fetch: 3.1.8 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) ethers: 5.7.2 flatley: 5.2.0 js-base64: 3.7.7 @@ -5654,7 +5730,7 @@ packages: deprecated: Use @eslint/config-array instead dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -6417,12 +6493,12 @@ packages: resolution: {integrity: sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==} dev: false - /@json-rpc-tools/provider@1.7.6: + /@json-rpc-tools/provider@1.7.6(debug@4.3.7): resolution: {integrity: sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: '@json-rpc-tools/utils': 1.7.6 - axios: 0.21.4 + axios: 0.21.4(debug@4.3.7) safe-json-utils: 1.1.1 ws: 7.5.9 transitivePeerDependencies: @@ -6499,7 +6575,7 @@ packages: resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} dev: true - /@lerna/create@8.0.1(typescript@5.1.6): + /@lerna/create@8.0.1(debug@4.3.7)(typescript@5.1.6): resolution: {integrity: sha512-PDYNUF8Nv5j7DbGvVbizEuYuQbNFZ0+wVOtRPvBQOkC2dMNryi3dJjktEd1QeDX6Wa/JkJWvZ5SMHyr+7H3Rtg==} engines: {node: '>=18.0.0'} dependencies: @@ -6541,7 +6617,7 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 17.3.2 + nx: 17.3.2(debug@4.3.7) p-map: 4.0.0 p-map-series: 2.1.0 p-queue: 6.6.2 @@ -6757,7 +6833,7 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) semver: 7.6.2 superstruct: 1.0.4 transitivePeerDependencies: @@ -6769,7 +6845,7 @@ packages: dependencies: '@ethereumjs/tx': 4.2.0 '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) semver: 7.6.2 superstruct: 1.0.4 transitivePeerDependencies: @@ -6783,7 +6859,7 @@ packages: '@noble/hashes': 1.4.0 '@scure/base': 1.1.6 '@types/debug': 4.1.12 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) pony-cause: 2.1.11 semver: 7.6.2 superstruct: 1.0.4 @@ -7128,6 +7204,10 @@ packages: dependencies: '@noble/hashes': 1.4.0 + /@noble/ed25519@1.7.3: + resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} + dev: false + /@noble/hashes@1.3.2: resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} engines: {node: '>= 16'} @@ -7260,11 +7340,11 @@ packages: - nx dev: true - /@nrwl/tao@17.3.2: + /@nrwl/tao@17.3.2(debug@4.3.7): resolution: {integrity: sha512-5uvpSmij0J9tteFV/0M/024K+H/o3XAlqtSdU8j03Auj1IleclSLF2yCTuIo7pYXhG3cgx1+nR+3nMs1QVAdUA==} hasBin: true dependencies: - nx: 17.3.2 + nx: 17.3.2(debug@4.3.7) tslib: 2.6.2 transitivePeerDependencies: - '@swc-node/register' @@ -7281,7 +7361,7 @@ packages: ejs: 3.1.10 enquirer: 2.3.6 ignore: 5.3.1 - nx: 17.3.2 + nx: 17.3.2(debug@4.3.7) semver: 7.6.2 tmp: 0.2.3 tslib: 2.6.2 @@ -7557,7 +7637,7 @@ packages: '@octokit/request-error': 3.0.3 '@octokit/types': 9.3.2 is-plain-object: 5.0.0 - node-fetch: 2.6.7 + node-fetch: 2.7.0 universal-user-agent: 6.0.1 transitivePeerDependencies: - encoding @@ -7636,6 +7716,17 @@ packages: tslib: 2.6.2 webcrypto-core: 1.7.9 + /@peculiar/webcrypto@1.5.0: + resolution: {integrity: sha512-BRs5XUAwiyCDQMsVA9IDvDa7UBR9gAvPHgugOeGng3YN6vJ9JYonyDc0lNczErgtCWtucjR5N7VtaonboD/ezg==} + engines: {node: '>=10.12.0'} + dependencies: + '@peculiar/asn1-schema': 2.3.8 + '@peculiar/json-schema': 1.1.12 + pvtsutils: 1.3.5 + tslib: 2.6.2 + webcrypto-core: 1.8.0 + dev: false + /@pedrouid/environment@1.0.1: resolution: {integrity: sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==} dev: true @@ -7681,7 +7772,7 @@ packages: schema-utils: 3.3.0 source-map: 0.7.4 webpack: 5.88.2 - webpack-dev-server: 4.15.2(webpack@5.88.2) + webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.88.2) dev: true /@pmmmwh/react-refresh-webpack-plugin@0.5.13(react-refresh@0.14.2)(webpack@5.88.2): @@ -8968,7 +9059,7 @@ packages: conventional-changelog-angular: 7.0.0 conventional-commits-filter: 4.0.0 conventional-commits-parser: 5.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) import-from-esm: 1.3.4 lodash-es: 4.17.21 micromatch: 4.0.5 @@ -8995,7 +9086,7 @@ packages: dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) dir-glob: 3.0.1 execa: 5.1.1 lodash: 4.17.21 @@ -9018,7 +9109,7 @@ packages: '@octokit/plugin-throttling': 8.2.0(@octokit/core@5.2.0) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) dir-glob: 3.0.1 globby: 14.0.1 http-proxy-agent: 7.0.2 @@ -9065,7 +9156,7 @@ packages: conventional-changelog-writer: 7.0.1 conventional-commits-filter: 4.0.0 conventional-commits-parser: 5.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) get-stream: 7.0.1 import-from-esm: 1.3.4 into-stream: 7.0.0 @@ -10478,7 +10569,7 @@ packages: '@types/babel__core': 7.20.5 '@types/semver': 7.5.8 pnp-webpack-plugin: 1.7.0(typescript@5.1.6) - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.5.6)(esbuild@0.18.20)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.5.6)(debug@4.3.7)(esbuild@0.18.20)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6) semver: 7.6.2 transitivePeerDependencies: - '@types/webpack' @@ -10572,7 +10663,7 @@ packages: typescript: '>= 4.x' webpack: '>= 4' dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -11486,7 +11577,7 @@ packages: resolution: {integrity: sha512-drD/G7R2yQkK6PnGkmLOlOieL3ybtiEXsubaebaBayoRsWqBRX/IJ0ufGwjRgohTvvlSoKWd4Ustyyhi9kK+Mw==} engines: {node: '>=10'} dependencies: - '@peculiar/webcrypto': 1.4.6 + '@peculiar/webcrypto': 1.5.0 '@stablelib/aes-kw': 1.0.1 '@stablelib/xchacha20poly1305': 1.0.1 '@transmute/did-key-common': 0.2.1-unstable.42 @@ -11628,11 +11719,11 @@ packages: - web-streams-polyfill dev: false - /@transmute/did-web@0.7.0-unstable.82: + /@transmute/did-web@0.7.0-unstable.82(debug@4.3.7): resolution: {integrity: sha512-1aIq3jM2KqFvqC5nSVBAEf+BhTvuYgkIBOWuvMtm57Go8C3L3GevjvFH3NDFbnTMw+TwQZtlu/I3+/Kc8hJ4KQ==} engines: {node: '>=16'} dependencies: - axios: 0.26.1 + axios: 0.26.1(debug@4.3.7) transitivePeerDependencies: - debug dev: false @@ -12722,7 +12813,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.0)(typescript@5.1.6) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.1.6) - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -12809,7 +12900,7 @@ packages: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) eslint: 8.57.0 typescript: 5.1.6 transitivePeerDependencies: @@ -12836,7 +12927,7 @@ packages: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.1.6) - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) eslint: 8.57.0 tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 @@ -12858,7 +12949,7 @@ packages: typescript: optional: true dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) eslint-visitor-keys: 1.3.0 glob: 7.2.3 is-glob: 4.0.3 @@ -12881,7 +12972,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 @@ -12902,7 +12993,7 @@ packages: dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) globby: 11.1.0 is-glob: 4.0.3 semver: 7.6.2 @@ -13036,7 +13127,7 @@ packages: resolution: {integrity: sha512-52uWGnipwoiWMqIKELrw0WQQo85RfiW6IYJl25P/ArZWRwwXxNm8SI4t2wkM9ljswRjQwqFWN8SyiOGhNeHN+A==} dependencies: credential-status: 2.0.6 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt-vc: 3.2.15 did-resolver: 4.1.0 transitivePeerDependencies: @@ -13046,7 +13137,7 @@ packages: resolution: {integrity: sha512-0eyqcvgu5qqijVY+5uqt3QbawZKeDph98VkqKWDndY8rSrPyoWai019VfQCRwanBA1SjhesjSQg2LS6ZscINRw==} dependencies: credential-status: 2.0.6 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt-vc: 3.2.15 did-resolver: 4.1.0 transitivePeerDependencies: @@ -13057,7 +13148,7 @@ packages: resolution: {integrity: sha512-Z74AaGJB6syijEr+GgdlIf+4pXB46BDHKWEnL3ca1HOLmfCiZgpO94dl27+x+tMWBKQAGs0fEJj2yQQengre1g==} dependencies: '@veramo/core-types': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) events: 3.3.0 z-schema: 6.0.1 transitivePeerDependencies: @@ -13067,7 +13158,7 @@ packages: resolution: {integrity: sha512-Dbg2bsvQnYyINNHasbcU135NWCgfQpAd+6ESY0yPuhHEjLqk/nMHqJwXofdqGvOwSeWDRx5gkILnFBDj8Y2wsA==} dependencies: '@veramo/core-types': 5.6.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) events: 3.3.0 z-schema: 6.0.1 transitivePeerDependencies: @@ -13080,7 +13171,7 @@ packages: '@metamask/eth-sig-util': 6.0.2 '@veramo/core-types': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) eip-712-types-generation: 0.1.6 transitivePeerDependencies: - encoding @@ -13094,7 +13185,7 @@ packages: '@veramo/did-manager': 5.5.3 '@veramo/key-manager': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt-vc: 3.2.15 uuid: 9.0.1 transitivePeerDependencies: @@ -13109,7 +13200,7 @@ packages: '@veramo/did-manager': 5.5.3 '@veramo/key-manager': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt-vc: 3.2.15 typeorm: 0.3.20(pg@8.11.5)(sqlite3@5.1.7)(ts-node@10.9.2) uuid: 9.0.1 @@ -13147,7 +13238,7 @@ packages: '@veramo/message-handler': 5.5.3 '@veramo/utils': 5.5.3 cross-fetch: 4.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt: 7.4.7 did-resolver: 4.1.0 isomorphic-webcrypto: 2.3.8(expo@51.0.5)(react-native@0.74.1) @@ -13162,7 +13253,7 @@ packages: resolution: {integrity: sha512-Riz47HWhRdvYPGAN77L7LXabjQWwB5FNcM7YfxsY6dDgfx10aO4U9Fjl/h3ODjxwlvNyMNz/fmLAlUgISPaSKA==} dependencies: '@veramo/core-types': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color @@ -13171,7 +13262,7 @@ packages: dependencies: '@veramo/core-types': 5.5.3 '@veramo/message-handler': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt: 7.4.7 did-resolver: 4.1.0 transitivePeerDependencies: @@ -13199,7 +13290,7 @@ packages: '@ethersproject/transactions': 5.7.0 '@veramo/core-types': 5.5.3 '@veramo/did-manager': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) ethr-did: 2.3.23 transitivePeerDependencies: - bufferutil @@ -13213,7 +13304,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/did-manager': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-resolver: 4.1.0 transitivePeerDependencies: - encoding @@ -13230,7 +13321,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/did-manager': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-resolver: 4.1.0 multicodec: 3.2.1 multiformats: 12.1.3 @@ -13250,7 +13341,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/did-manager': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-resolver: 4.1.0 multicodec: 3.2.1 multiformats: 12.1.3 @@ -13269,7 +13360,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/did-manager': 5.5.3 caip: 1.1.1 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-resolver: 4.1.0 transitivePeerDependencies: - supports-color @@ -13280,7 +13371,7 @@ packages: dependencies: '@veramo/core-types': 5.5.3 '@veramo/did-manager': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: false @@ -13291,7 +13382,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/utils': 5.5.3 cross-fetch: 4.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-resolver: 4.1.0 transitivePeerDependencies: - encoding @@ -13306,7 +13397,7 @@ packages: '@noble/curves': 1.4.0 '@veramo/core-types': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt: 7.4.7 uint8arrays: 4.0.10 uuid: 9.0.1 @@ -13330,7 +13421,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/key-manager': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt: 7.4.7 transitivePeerDependencies: - encoding @@ -13344,7 +13435,7 @@ packages: '@ethersproject/transactions': 5.7.0 '@veramo/core-types': 5.5.3 '@veramo/key-manager': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - bufferutil - encoding @@ -13355,7 +13446,7 @@ packages: resolution: {integrity: sha512-byjWibnl4KNcpVLl1UkJEIzrlDO4Sq9eQFG9QqdFNYvDNDogmmXJJU+FiTjcnSNyCy/PvLDRQXGlUH8a2lpUUg==} dependencies: '@veramo/core-types': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color @@ -13364,7 +13455,7 @@ packages: dependencies: '@veramo/core-types': 5.5.3 cross-fetch: 4.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) openapi-types: 12.1.3 transitivePeerDependencies: - encoding @@ -13376,7 +13467,7 @@ packages: dependencies: '@veramo/core-types': 5.6.0 cross-fetch: 4.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) openapi-types: 12.1.3 transitivePeerDependencies: - encoding @@ -13389,7 +13480,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/message-handler': 5.5.3 '@veramo/utils': 5.5.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt: 7.4.7 uuid: 9.0.1 transitivePeerDependencies: @@ -13402,7 +13493,7 @@ packages: '@veramo/core-types': 5.5.3 '@veramo/message-handler': 5.5.3 cross-fetch: 4.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) url-parse: 1.5.10 transitivePeerDependencies: - encoding @@ -13419,7 +13510,7 @@ packages: '@veramo/core-types': 5.5.3 credential-status: 2.0.6 cross-fetch: 4.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) did-jwt: 7.4.7 did-jwt-vc: 3.2.15 did-resolver: 4.1.0 @@ -13561,7 +13652,7 @@ packages: tslib: 1.14.1 dev: true - /@walletconnect/ethereum-provider@1.8.0: + /@walletconnect/ethereum-provider@1.8.0(debug@4.3.7): resolution: {integrity: sha512-Nq9m+oo5P0F+njsROHw9KMWdoc/8iGHYzQdkjJN/1C7DtsqFRg5k5a3hd9rzCLpbPsOC1q8Z5lRs6JQgDvPm6Q==} deprecated: 'WalletConnect''s v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/' dependencies: @@ -13571,7 +13662,7 @@ packages: '@walletconnect/signer-connection': 1.8.0 '@walletconnect/types': 1.8.0 '@walletconnect/utils': 1.8.0 - eip1193-provider: 1.0.1 + eip1193-provider: 1.0.1(debug@4.3.7) eventemitter3: 4.0.7 transitivePeerDependencies: - bufferutil @@ -13761,10 +13852,10 @@ packages: - react dev: true - /@web3-react/walletconnect@8.2.3(@types/react@18.2.46)(react@18.2.0): + /@web3-react/walletconnect@8.2.3(@types/react@18.2.46)(debug@4.3.7)(react@18.2.0): resolution: {integrity: sha512-DSxmsc4bq7b/AkkHJwfD0xp/15q+cjmkwOjkzODV2nxEkObE1KKbrLkyE+GadAdFylxa7mFY9uEPco4gceHSrQ==} dependencies: - '@walletconnect/ethereum-provider': 1.8.0 + '@walletconnect/ethereum-provider': 1.8.0(debug@4.3.7) '@web3-react/types': 8.2.3(@types/react@18.2.46)(react@18.2.0) eventemitter3: 4.0.7 transitivePeerDependencies: @@ -14290,7 +14381,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color @@ -14298,7 +14389,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true @@ -15109,26 +15200,26 @@ packages: engines: {node: '>=4'} dev: true - /axios@0.21.4: + /axios@0.21.4(debug@4.3.7): resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.7) transitivePeerDependencies: - debug dev: true - /axios@0.26.1: + /axios@0.26.1(debug@4.3.7): resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.7) transitivePeerDependencies: - debug dev: false - /axios@1.6.8(debug@4.3.4): + /axios@1.6.8(debug@4.3.7): resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.7) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -15742,6 +15833,11 @@ packages: safe-buffer: 5.2.1 dev: false + /base58-universal@2.0.0: + resolution: {integrity: sha512-BgkgF8zVLOAygszG4W8NkLm7iXrw80VYAOcedrzANrIhS14+4W6zVqjyGTFUBM/FpqkHUt8aAYd4DbBBfn3zKg==} + engines: {node: '>=14'} + dev: false + /base64-arraybuffer@1.0.2: resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} engines: {node: '>= 0.6.0'} @@ -18279,7 +18375,7 @@ packages: ms: 2.1.2 dev: true - /debug@4.3.4(supports-color@6.1.0): + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -18289,6 +18385,18 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: false + + /debug@4.3.7(supports-color@6.1.0): + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 supports-color: 6.1.0 /decamelize-keys@1.1.1: @@ -18652,7 +18760,7 @@ packages: hasBin: true dependencies: address: 1.2.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true @@ -19019,11 +19127,11 @@ packages: dependencies: json-canonicalize: 1.0.6 - /eip1193-provider@1.0.1: + /eip1193-provider@1.0.1(debug@4.3.7): resolution: {integrity: sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: - '@json-rpc-tools/provider': 1.7.6 + '@json-rpc-tools/provider': 1.7.6(debug@4.3.7) transitivePeerDependencies: - bufferutil - debug @@ -19464,7 +19572,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -19982,7 +20090,7 @@ packages: ajv: 6.12.6 chalk: 2.4.2 cross-spawn: 6.0.5 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) doctrine: 3.0.0 eslint-scope: 5.1.1 eslint-utils: 1.4.3 @@ -20035,7 +20143,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -21233,7 +21341,7 @@ packages: tslib: 2.6.2 dev: true - /follow-redirects@1.15.6(debug@4.3.4): + /follow-redirects@1.15.6(debug@4.3.7): resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: @@ -21242,7 +21350,7 @@ packages: debug: optional: true dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) /fontfaceobserver@2.3.0: resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} @@ -22734,7 +22842,7 @@ packages: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color @@ -22744,7 +22852,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true @@ -22754,16 +22862,16 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true - /http-proxy-middleware@0.19.1(debug@4.3.4)(supports-color@6.1.0): + /http-proxy-middleware@0.19.1(debug@4.3.7)(supports-color@6.1.0): resolution: {integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==} engines: {node: '>=4.0.0'} dependencies: - http-proxy: 1.18.1(debug@4.3.4) + http-proxy: 1.18.1(debug@4.3.7) is-glob: 4.0.3 lodash: 4.17.21 micromatch: 3.1.10(supports-color@6.1.0) @@ -22772,7 +22880,7 @@ packages: - supports-color dev: true - /http-proxy-middleware@2.0.6(@types/express@4.17.21): + /http-proxy-middleware@2.0.6(@types/express@4.17.21)(debug@4.3.7): resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} engines: {node: '>=12.0.0'} peerDependencies: @@ -22783,7 +22891,7 @@ packages: dependencies: '@types/express': 4.17.21 '@types/http-proxy': 1.17.14 - http-proxy: 1.18.1(debug@4.3.4) + http-proxy: 1.18.1(debug@4.3.7) is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 @@ -22791,12 +22899,12 @@ packages: - debug dev: true - /http-proxy@1.18.1(debug@4.3.4): + /http-proxy@1.18.1(debug@4.3.7): resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.6(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.7) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -22822,7 +22930,7 @@ packages: engines: {node: '>= 6.0.0'} dependencies: agent-base: 5.1.1 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true @@ -22832,7 +22940,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color @@ -22841,7 +22949,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) transitivePeerDependencies: - supports-color dev: true @@ -23007,7 +23115,7 @@ packages: resolution: {integrity: sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==} engines: {node: '>=16.20'} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) import-meta-resolve: 4.1.0 transitivePeerDependencies: - supports-color @@ -24033,7 +24141,7 @@ packages: resolution: {integrity: sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==} engines: {node: '>=6'} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) istanbul-lib-coverage: 2.0.5 make-dir: 2.1.0 rimraf: 2.7.1 @@ -24046,7 +24154,7 @@ packages: resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} engines: {node: '>=10'} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -26009,6 +26117,21 @@ packages: - web-streams-polyfill dev: false + /jsonld-signatures@11.3.0(expo@51.0.5)(react-native@0.74.1): + resolution: {integrity: sha512-+KaA2uWhnQ6eYDYqFoopYS8PcmbAdMuM0RFuycZw5Vh0gZiuMHt5/nCLh/p2x5blPGREntTHCQtI/1TtZ1+CUg==} + engines: {node: '>=18'} + dependencies: + '@digitalbazaar/security-context': 1.0.1 + jsonld: /@digitalcredentials/jsonld@5.2.1(expo@51.0.5)(react-native@0.74.1) + rdf-canonize: 4.0.1 + serialize-error: 8.1.0 + transitivePeerDependencies: + - domexception + - expo + - react-native + - web-streams-polyfill + dev: false + /jsonparse@1.3.1: resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} engines: {'0': node >= 0.2.0} @@ -26245,12 +26368,12 @@ packages: - supports-color dev: true - /lerna@8.0.1: + /lerna@8.0.1(debug@4.3.7): resolution: {integrity: sha512-ZxFMmOqwkP4e+q6BrMzxkAhixi6n0GVD2jAAnAfDkIFnwumB4/7X5/If6fqTlXXshtB2dQtN5OAtzafqVq8cwA==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - '@lerna/create': 8.0.1(typescript@5.1.6) + '@lerna/create': 8.0.1(debug@4.3.7)(typescript@5.1.6) '@npmcli/run-script': 7.0.2 '@nx/devkit': 17.3.2(nx@17.3.2) '@octokit/plugin-enterprise-rest': 6.0.1 @@ -26295,7 +26418,7 @@ packages: npm-packlist: 5.1.1 npm-registry-fetch: 14.0.5 npmlog: 6.0.2 - nx: 17.3.2 + nx: 17.3.2(debug@4.3.7) p-map: 4.0.0 p-map-series: 2.1.0 p-pipe: 3.1.0 @@ -27515,7 +27638,7 @@ packages: /micromark@2.11.4: resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color @@ -28722,7 +28845,7 @@ packages: resolution: {integrity: sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==} dev: true - /nx@17.3.2: + /nx@17.3.2(debug@4.3.7): resolution: {integrity: sha512-QjF1gnwKebQISvATrSbW7dsmIcLbA0fcyDyxLo5wVHx/MIlcaIb/lLYaPTld73ZZ6svHEZ6n2gOkhMitmkIPQA==} hasBin: true requiresBuild: true @@ -28735,11 +28858,11 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/tao': 17.3.2 + '@nrwl/tao': 17.3.2(debug@4.3.7) '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 - axios: 1.6.8(debug@4.3.4) + axios: 1.6.8(debug@4.3.7) chalk: 4.1.0 cli-cursor: 3.1.0 cli-spinners: 2.6.1 @@ -31223,7 +31346,7 @@ packages: engines: {node: '>=8.16.0'} dependencies: '@types/mime-types': 2.1.4 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) extract-zip: 1.7.0 https-proxy-agent: 4.0.0 mime: 2.6.0 @@ -32076,6 +32199,13 @@ packages: setimmediate: 1.0.5 dev: false + /rdf-canonize@4.0.1: + resolution: {integrity: sha512-B5ynHt4sasbUafzrvYI2GFARgeFcD8Sx9yXPbg7gEyT2EH76rlCv84kyO6tnxzVbxUN/uJDbK1S/MXh+DsnuTA==} + engines: {node: '>=18'} + dependencies: + setimmediate: 1.0.5 + dev: false + /react-app-polyfill@3.0.0: resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} engines: {node: '>=14'} @@ -32711,7 +32841,7 @@ packages: react: 18.2.0 dev: true - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.5.6)(esbuild@0.18.20)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6): + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(@swc/core@1.5.6)(debug@4.3.7)(esbuild@0.18.20)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -32769,7 +32899,7 @@ packages: terser-webpack-plugin: 5.3.10(@swc/core@1.5.6)(esbuild@0.18.20)(webpack@5.88.2) typescript: 5.1.6 webpack: 5.88.2(@swc/core@1.5.6)(esbuild@0.18.20) - webpack-dev-server: 4.15.2(webpack@5.88.2) + webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.88.2) webpack-manifest-plugin: 4.1.1(webpack@5.88.2) workbox-webpack-plugin: 6.6.0(webpack@5.88.2) optionalDependencies: @@ -32809,7 +32939,7 @@ packages: - webpack-plugin-serve dev: true - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6): + /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(debug@4.3.7)(eslint@8.57.0)(react@18.2.0)(ts-node@10.9.2)(typescript@5.1.6): resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} engines: {node: '>=14.0.0'} hasBin: true @@ -32867,7 +32997,7 @@ packages: terser-webpack-plugin: 5.3.10(webpack@5.88.2) typescript: 5.1.6 webpack: 5.88.2 - webpack-dev-server: 4.15.2(webpack@5.88.2) + webpack-dev-server: 4.15.2(debug@4.3.7)(webpack@5.88.2) webpack-manifest-plugin: 4.1.1(webpack@5.88.2) workbox-webpack-plugin: 6.6.0(webpack@5.88.2) optionalDependencies: @@ -34138,7 +34268,7 @@ packages: '@semantic-release/release-notes-generator': 12.1.0(semantic-release@22.0.12) aggregate-error: 5.0.0 cosmiconfig: 8.3.6(typescript@5.1.6) - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) env-ci: 10.0.0 execa: 8.0.1 figures: 6.1.0 @@ -34646,7 +34776,7 @@ packages: engines: {node: '>= 10'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -34656,7 +34786,7 @@ packages: engines: {node: '>= 10'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -34667,7 +34797,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -34800,7 +34930,7 @@ packages: /spdy-transport@3.0.0(supports-color@6.1.0): resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) detect-node: 2.1.0 hpack.js: 2.1.6 obuf: 1.1.2 @@ -34814,7 +34944,7 @@ packages: resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} engines: {node: '>=6.0.0'} dependencies: - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) handle-thing: 2.0.1 http-deceiver: 1.2.7 select-hose: 2.0.0 @@ -35934,7 +36064,7 @@ packages: engines: {node: '>= 0.10'} dependencies: array-find: 1.0.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) dedent: 0.7.0 del: 5.1.0 execa: 3.4.0 @@ -36085,7 +36215,7 @@ packages: chrome-remote-interface: 0.30.1 coffeescript: 2.7.0 commander: 8.3.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) dedent: 0.4.0 del: 3.0.0 device-specs: 1.0.1 @@ -36634,7 +36764,7 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: '@tufjs/models': 1.0.4 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) make-fetch-happen: 11.1.1 transitivePeerDependencies: - supports-color @@ -36645,7 +36775,7 @@ packages: engines: {node: ^16.14.0 || >=18.0.0} dependencies: '@tufjs/models': 2.0.1 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) make-fetch-happen: 13.0.1 transitivePeerDependencies: - supports-color @@ -36888,7 +37018,7 @@ packages: chalk: 4.1.2 cli-highlight: 2.1.11 dayjs: 1.11.11 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) dotenv: 16.4.5 glob: 10.3.15 mkdirp: 2.1.6 @@ -37811,6 +37941,16 @@ packages: pvtsutils: 1.3.5 tslib: 2.6.2 + /webcrypto-core@1.8.0: + resolution: {integrity: sha512-kR1UQNH8MD42CYuLzvibfakG5Ew5seG85dMMoAM/1LqvckxaF6pUiidLuraIu4V+YCIFabYecUZAW0TuxAoaqw==} + dependencies: + '@peculiar/asn1-schema': 2.3.8 + '@peculiar/json-schema': 1.1.12 + asn1js: 3.0.5 + pvtsutils: 1.3.5 + tslib: 2.6.2 + dev: false + /webcrypto-shim@0.1.7: resolution: {integrity: sha512-JAvAQR5mRNRxZW2jKigWMjCMkjSdmP5cColRP1U/pTg69VgHXEi1orv5vVpJ55Zc5MIaPc1aaurzd9pjv2bveg==} @@ -37940,11 +38080,11 @@ packages: chokidar: 2.1.8(supports-color@6.1.0) compression: 1.7.4(supports-color@6.1.0) connect-history-api-fallback: 1.6.0 - debug: 4.3.4(supports-color@6.1.0) + debug: 4.3.7(supports-color@6.1.0) del: 4.1.1 express: 4.19.2(supports-color@6.1.0) html-entities: 1.4.0 - http-proxy-middleware: 0.19.1(debug@4.3.4)(supports-color@6.1.0) + http-proxy-middleware: 0.19.1(debug@4.3.7)(supports-color@6.1.0) import-local: 2.0.0 internal-ip: 4.3.0 ip: 1.1.9 @@ -37975,7 +38115,7 @@ packages: - utf-8-validate dev: true - /webpack-dev-server@4.15.2(webpack@5.88.2): + /webpack-dev-server@4.15.2(debug@4.3.7)(webpack@5.88.2): resolution: {integrity: sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==} engines: {node: '>= 12.13.0'} hasBin: true @@ -38005,7 +38145,7 @@ packages: express: 4.19.2(supports-color@6.1.0) graceful-fs: 4.2.11 html-entities: 2.5.2 - http-proxy-middleware: 2.0.6(@types/express@4.17.21) + http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.7) ipaddr.js: 2.2.0 launch-editor: 2.6.1 open: 8.4.2