@twin.org/standards-w3c-did 0.0.3-next.60 → 0.0.3-next.62

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"proofHelper.js","sourceRoot":"","sources":["../../../src/utils/proofHelper.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAI1D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAI/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,qCAAqC,EAAE,MAAM,6DAA6D,CAAC;AACpH,OAAO,EAAE,gCAAgC,EAAE,MAAM,wDAAwD,CAAC;AAC1G,OAAO,EAAE,uCAAuC,EAAE,MAAM,+DAA+D,CAAC;AACxH,OAAO,EAAE,kCAAkC,EAAE,MAAM,0DAA0D,CAAC;AAE9G;;GAEG;AACH,MAAM,OAAO,WAAW;IACvB;;OAEG;IACI,MAAM,CAAU,UAAU,iBAAiC;IAElE;;;;;OAKG;IACI,MAAM,CAAC,oBAAoB,CAAC,SAAqB;QACvD,MAAM,CAAC,UAAU,CAChB,WAAW,CAAC,UAAU,eAEtB,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CACzB,CAAC;QAEF,IAAI,cAAgD,CAAC;QACrD,IAAI,SAAS,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACjD,cAAc,GAAG,IAAI,gCAAgC,EAAE,CAAC;QACzD,CAAC;aAAM,IAAI,SAAS,KAAK,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAC1D,cAAc,GAAG,IAAI,kCAAkC,EAAE,CAAC;QAC3D,CAAC;QAED,IAAI,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,yBAAyB,CAAC,SAAqB;QAC5D,MAAM,CAAC,UAAU,CAChB,WAAW,CAAC,UAAU,eAEtB,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CACzB,CAAC;QAEF,IAAI,cAAqD,CAAC;QAC1D,IAAI,SAAS,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACjD,cAAc,GAAG,IAAI,qCAAqC,EAAE,CAAC;QAC9D,CAAC;aAAM,IAAI,SAAS,KAAK,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAC1D,cAAc,GAAG,IAAI,uCAAuC,EAAE,CAAC;QAChE,CAAC;QAED,IAAI,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAC9B,SAAqB,EACrB,iBAAoC,EACpC,aAAqB,EACrB,OAAa;QAEb,MAAM,CAAC,UAAU,CAChB,WAAW,CAAC,UAAU,eAEtB,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CACzB,CAAC;QACF,MAAM,CAAC,MAAM,CACZ,WAAW,CAAC,UAAU,uBAEtB,iBAAiB,CACjB,CAAC;QACF,MAAM,CAAC,MAAM,CAAoB,WAAW,CAAC,UAAU,mBAAyB,aAAa,CAAC,CAAC;QAC/F,MAAM,CAAC,MAAM,CAAO,WAAW,CAAC,UAAU,aAAmB,OAAO,CAAC,CAAC;QACtE,OAAO,WAAW,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,WAAW,CAC7D,iBAAiD,EACjD,aAAa,EACb,OAAO,CACP,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACxC,SAAqB,EACrB,iBAAoC,EACpC,aAAqB,EACrB,YAA0E;QAE1E,MAAM,CAAC,UAAU,CAChB,WAAW,CAAC,UAAU,eAEtB,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CACzB,CAAC;QACF,MAAM,CAAC,MAAM,CACZ,WAAW,CAAC,UAAU,uBAEtB,iBAAiB,CACjB,CAAC;QACF,MAAM,CAAC,MAAM,CAAoB,WAAW,CAAC,UAAU,mBAAyB,aAAa,CAAC,CAAC;QAC/F,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,kBAAwB,YAAY,CAAC,CAAC;QAE5E,OAAO,WAAW,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAC5E,iBAAiD,EACjD,aAAa,EACb,YAAY,CACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAC9B,eAAkC,EAClC,WAAmB,EACnB,SAAe;QAEf,MAAM,CAAC,MAAM,CACZ,WAAW,CAAC,UAAU,qBAEtB,eAAe,CACf,CAAC;QACF,MAAM,CAAC,MAAM,CAAoB,WAAW,CAAC,UAAU,iBAAuB,WAAW,CAAC,CAAC;QAC3F,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,sBAA4B,WAAW,CAAC,IAAI,CAAC,CAAC;QACvF,MAAM,CAAC,MAAM,CAAO,WAAW,CAAC,UAAU,eAAqB,SAAS,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAkB,CAAC,CAAC;QAExF,OAAO,cAAc,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,mBAAmB,CAChC,SAAqB,EACrB,oBAA4B;IAC5B,8DAA8D;IAC9D,WAAiB;QAEjB,IAAI,KAAyB,CAAC;QAC9B,IAAI,SAAS,KAAK,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACjD,KAAK,GAAG;gBACP,UAAU,EAAE,WAAW,CAAC,oBAAoB;gBAC5C,IAAI,EAAE,UAAU,CAAC,kBAAkB;gBACnC,WAAW,EAAE,eAAe,CAAC,YAAY;gBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;gBAC3C,kBAAkB,EAAE,oBAAoB;gBACxC,YAAY,EAAE,iBAAiB;gBAC/B,GAAG,WAAW;aACd,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,KAAK,UAAU,CAAC,oBAAoB,EAAE,CAAC;YAC1D,KAAK,GAAG;gBACP,UAAU,EAAE,WAAW,CAAC,sBAAsB;gBAC9C,IAAI,EAAE,UAAU,CAAC,oBAAoB;gBACrC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE;gBAC3C,kBAAkB,EAAE,oBAAoB;gBACxC,YAAY,EAAE,iBAAiB;gBAC/B,GAAG,WAAW;aACd,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,YAAY,CAAC,WAAW,CAAC,UAAU,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { GeneralError, Guards, Is } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport { nameof } from \"@twin.org/nameof\";\nimport type { IJwk } from \"@twin.org/web\";\nimport { DidContexts } from \"../models/didContexts.js\";\nimport { DidCryptoSuites } from \"../models/didCryptoSuites.js\";\nimport type { IProof } from \"../models/IProof.js\";\nimport type { IProofSignerVerifier } from \"../models/IProofSignerVerifier.js\";\nimport type { IProofSignerVerifierAsync } from \"../models/IProofSignerVerifierAsync.js\";\nimport { ProofTypes } from \"../models/proofTypes.js\";\nimport { DataIntegrityProofAsyncSignerVerifier } from \"../signerVerifiers/dataIntegrityProofAsyncSignerVerifier.js\";\nimport { DataIntegrityProofSignerVerifier } from \"../signerVerifiers/dataIntegrityProofSignerVerifier.js\";\nimport { JsonWebSignature2020AsyncSignerVerifier } from \"../signerVerifiers/jsonWebSignature2020AsyncSignerVerifier.js\";\nimport { JsonWebSignature2020SignerVerifier } from \"../signerVerifiers/jsonWebSignature2020SignerVerifier.js\";\n\n/**\n * Helper methods for creating and verifying proofs.\n */\nexport class ProofHelper {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<ProofHelper>();\n\n\t/**\n\t * Create a signer verifier.\n\t * @param proofType The type of proof to create.\n\t * @returns The created signer verifier.\n\t * @throws GeneralError if the proof type is not supported.\n\t */\n\tpublic static createSignerVerifier(proofType: ProofTypes): IProofSignerVerifier {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\n\t\tlet signerVerifier: IProofSignerVerifier | undefined;\n\t\tif (proofType === ProofTypes.DataIntegrityProof) {\n\t\t\tsignerVerifier = new DataIntegrityProofSignerVerifier();\n\t\t} else if (proofType === ProofTypes.JsonWebSignature2020) {\n\t\t\tsignerVerifier = new JsonWebSignature2020SignerVerifier();\n\t\t}\n\n\t\tif (Is.empty(signerVerifier)) {\n\t\t\tthrow new GeneralError(ProofHelper.CLASS_NAME, \"unsupportedProofType\", { proofType });\n\t\t}\n\t\treturn signerVerifier;\n\t}\n\n\t/**\n\t * Create an async signer verifier that supports signing with callbacks.\n\t * This enables signing without exposing private keys.\n\t * @param proofType The type of proof to create.\n\t * @returns The created async signer verifier.\n\t * @throws GeneralError if the proof type is not supported.\n\t */\n\tpublic static createAsyncSignerVerifier(proofType: ProofTypes): IProofSignerVerifierAsync {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\n\t\tlet signerVerifier: IProofSignerVerifierAsync | undefined;\n\t\tif (proofType === ProofTypes.DataIntegrityProof) {\n\t\t\tsignerVerifier = new DataIntegrityProofAsyncSignerVerifier();\n\t\t} else if (proofType === ProofTypes.JsonWebSignature2020) {\n\t\t\tsignerVerifier = new JsonWebSignature2020AsyncSignerVerifier();\n\t\t}\n\n\t\tif (Is.empty(signerVerifier)) {\n\t\t\tthrow new GeneralError(ProofHelper.CLASS_NAME, \"unsupportedProofType\", { proofType });\n\t\t}\n\t\treturn signerVerifier;\n\t}\n\n\t/**\n\t * Create a proof for the given data.\n\t * @param proofType The type of proof to create.\n\t * @param unsecuredDocument The data to create the proof for.\n\t * @param unsignedProof The proof options.\n\t * @param signKey The key to sign the proof with.\n\t * @returns The created proof.\n\t */\n\tpublic static async createProof(\n\t\tproofType: ProofTypes,\n\t\tunsecuredDocument: IJsonLdNodeObject,\n\t\tunsignedProof: IProof,\n\t\tsignKey: IJwk\n\t): Promise<IProof> {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(unsecuredDocument),\n\t\t\tunsecuredDocument\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(ProofHelper.CLASS_NAME, nameof(unsignedProof), unsignedProof);\n\t\tGuards.object<IJwk>(ProofHelper.CLASS_NAME, nameof(signKey), signKey);\n\t\treturn ProofHelper.createSignerVerifier(proofType).createProof(\n\t\t\tunsecuredDocument as unknown as IJsonLdNodeObject,\n\t\t\tunsignedProof,\n\t\t\tsignKey\n\t\t);\n\t}\n\n\t/**\n\t * Create a proof with an async signing callback.\n\t * This method prevents private key exposure by delegating signing to a secure callback.\n\t * @param proofType The type of proof to create.\n\t * @param unsecuredDocument The data to create the proof for.\n\t * @param unsignedProof The proof options.\n\t * @param signCallback Async callback that signs data with a private key from secure storage. The algorithm parameter indicates the expected signing algorithm (e.g., \"EdDSA\") to enable validation.\n\t * @returns The created proof.\n\t */\n\tpublic static async createProofWithSigner(\n\t\tproofType: ProofTypes,\n\t\tunsecuredDocument: IJsonLdNodeObject,\n\t\tunsignedProof: IProof,\n\t\tsignCallback: (data: Uint8Array, algorithm: string) => Promise<Uint8Array>\n\t): Promise<IProof> {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(unsecuredDocument),\n\t\t\tunsecuredDocument\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(ProofHelper.CLASS_NAME, nameof(unsignedProof), unsignedProof);\n\t\tGuards.function(ProofHelper.CLASS_NAME, nameof(signCallback), signCallback);\n\n\t\treturn ProofHelper.createAsyncSignerVerifier(proofType).createProofWithSigner(\n\t\t\tunsecuredDocument as unknown as IJsonLdNodeObject,\n\t\t\tunsignedProof,\n\t\t\tsignCallback\n\t\t);\n\t}\n\n\t/**\n\t * Verify a proof for the given data.\n\t * @param securedDocument The credential to verify.\n\t * @param signedProof The proof to verify.\n\t * @param verifyKey The public key to verify the proof with.\n\t * @returns True if the credential was verified.\n\t */\n\tpublic static async verifyProof(\n\t\tsecuredDocument: IJsonLdNodeObject,\n\t\tsignedProof: IProof,\n\t\tverifyKey: IJwk\n\t): Promise<boolean> {\n\t\tGuards.object<IJsonLdNodeObject>(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(securedDocument),\n\t\t\tsecuredDocument\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(ProofHelper.CLASS_NAME, nameof(signedProof), signedProof);\n\t\tGuards.stringValue(ProofHelper.CLASS_NAME, nameof(signedProof.type), signedProof.type);\n\t\tGuards.object<IJwk>(ProofHelper.CLASS_NAME, nameof(verifyKey), verifyKey);\n\n\t\tconst signerVerifier = ProofHelper.createSignerVerifier(signedProof.type as ProofTypes);\n\n\t\treturn signerVerifier.verifyProof(securedDocument, signedProof, verifyKey);\n\t}\n\n\t/**\n\t * Create an unsigned proof.\n\t * @param proofType The type of proof to create.\n\t * @param verificationMethodId The verification method id.\n\t * @param otherParams Other parameters for the proof.\n\t * @returns The created proof.\n\t * @throws GeneralError if the proof type is not supported.\n\t */\n\tpublic static createUnsignedProof(\n\t\tproofType: ProofTypes,\n\t\tverificationMethodId: string,\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\totherParams?: any\n\t): IProof {\n\t\tlet proof: IProof | undefined;\n\t\tif (proofType === ProofTypes.DataIntegrityProof) {\n\t\t\tproof = {\n\t\t\t\t\"@context\": DidContexts.ContextDataIntegrity,\n\t\t\t\ttype: ProofTypes.DataIntegrityProof,\n\t\t\t\tcryptosuite: DidCryptoSuites.EdDSAJcs2022,\n\t\t\t\tcreated: new Date(Date.now()).toISOString(),\n\t\t\t\tverificationMethod: verificationMethodId,\n\t\t\t\tproofPurpose: \"assertionMethod\",\n\t\t\t\t...otherParams\n\t\t\t};\n\t\t} else if (proofType === ProofTypes.JsonWebSignature2020) {\n\t\t\tproof = {\n\t\t\t\t\"@context\": DidContexts.ContextSecurityJws2020,\n\t\t\t\ttype: ProofTypes.JsonWebSignature2020,\n\t\t\t\tcreated: new Date(Date.now()).toISOString(),\n\t\t\t\tverificationMethod: verificationMethodId,\n\t\t\t\tproofPurpose: \"assertionMethod\",\n\t\t\t\t...otherParams\n\t\t\t};\n\t\t}\n\t\tif (Is.empty(proof)) {\n\t\t\tthrow new GeneralError(ProofHelper.CLASS_NAME, \"unsupportedProofType\", { proofType });\n\t\t}\n\t\treturn proof;\n\t}\n}\n"]}
1
+ {"version":3,"file":"proofHelper.js","sourceRoot":"","sources":["../../../src/utils/proofHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { GeneralError, Guards, Is } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport { nameof } from \"@twin.org/nameof\";\nimport type { IJwk } from \"@twin.org/web\";\nimport { DidContexts } from \"../models/didContexts.js\";\nimport { DidCryptoSuites } from \"../models/didCryptoSuites.js\";\nimport type { IProof } from \"../models/IProof.js\";\nimport type { IProofSignerVerifier } from \"../models/IProofSignerVerifier.js\";\nimport type { IProofSignerVerifierAsync } from \"../models/IProofSignerVerifierAsync.js\";\nimport { ProofTypes } from \"../models/proofTypes.js\";\nimport { DataIntegrityProofAsyncSignerVerifier } from \"../signerVerifiers/dataIntegrityProofAsyncSignerVerifier.js\";\nimport { DataIntegrityProofSignerVerifier } from \"../signerVerifiers/dataIntegrityProofSignerVerifier.js\";\nimport { JsonWebSignature2020AsyncSignerVerifier } from \"../signerVerifiers/jsonWebSignature2020AsyncSignerVerifier.js\";\nimport { JsonWebSignature2020SignerVerifier } from \"../signerVerifiers/jsonWebSignature2020SignerVerifier.js\";\n\n/**\n * Helper methods for creating and verifying proofs.\n */\nexport class ProofHelper {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<ProofHelper>();\n\n\t/**\n\t * Create a signer verifier.\n\t * @param proofType The type of proof to create.\n\t * @returns The created signer verifier.\n\t * @throws GeneralError if the proof type is not supported.\n\t */\n\tpublic static createSignerVerifier(proofType: ProofTypes): IProofSignerVerifier {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\n\t\tlet signerVerifier: IProofSignerVerifier | undefined;\n\t\tif (proofType === ProofTypes.DataIntegrityProof) {\n\t\t\tsignerVerifier = new DataIntegrityProofSignerVerifier();\n\t\t} else if (proofType === ProofTypes.JsonWebSignature2020) {\n\t\t\tsignerVerifier = new JsonWebSignature2020SignerVerifier();\n\t\t}\n\n\t\tif (Is.empty(signerVerifier)) {\n\t\t\tthrow new GeneralError(ProofHelper.CLASS_NAME, \"unsupportedProofType\", { proofType });\n\t\t}\n\t\treturn signerVerifier;\n\t}\n\n\t/**\n\t * Create an async signer verifier that supports signing with callbacks.\n\t * This enables signing without exposing private keys.\n\t * @param proofType The type of proof to create.\n\t * @returns The created async signer verifier.\n\t * @throws GeneralError if the proof type is not supported.\n\t */\n\tpublic static createAsyncSignerVerifier(proofType: ProofTypes): IProofSignerVerifierAsync {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\n\t\tlet signerVerifier: IProofSignerVerifierAsync | undefined;\n\t\tif (proofType === ProofTypes.DataIntegrityProof) {\n\t\t\tsignerVerifier = new DataIntegrityProofAsyncSignerVerifier();\n\t\t} else if (proofType === ProofTypes.JsonWebSignature2020) {\n\t\t\tsignerVerifier = new JsonWebSignature2020AsyncSignerVerifier();\n\t\t}\n\n\t\tif (Is.empty(signerVerifier)) {\n\t\t\tthrow new GeneralError(ProofHelper.CLASS_NAME, \"unsupportedProofType\", { proofType });\n\t\t}\n\t\treturn signerVerifier;\n\t}\n\n\t/**\n\t * Create a proof for the given data.\n\t * @param proofType The type of proof to create.\n\t * @param unsecuredDocument The data to create the proof for.\n\t * @param unsignedProof The proof options.\n\t * @param signKey The key to sign the proof with.\n\t * @returns The created proof.\n\t */\n\tpublic static async createProof(\n\t\tproofType: ProofTypes,\n\t\tunsecuredDocument: IJsonLdNodeObject,\n\t\tunsignedProof: IProof,\n\t\tsignKey: IJwk\n\t): Promise<IProof> {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(unsecuredDocument),\n\t\t\tunsecuredDocument\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(ProofHelper.CLASS_NAME, nameof(unsignedProof), unsignedProof);\n\t\tGuards.object<IJwk>(ProofHelper.CLASS_NAME, nameof(signKey), signKey);\n\t\treturn ProofHelper.createSignerVerifier(proofType).createProof(\n\t\t\tunsecuredDocument,\n\t\t\tunsignedProof,\n\t\t\tsignKey\n\t\t);\n\t}\n\n\t/**\n\t * Create a proof with an async signing callback.\n\t * This method prevents private key exposure by delegating signing to a secure callback.\n\t * @param proofType The type of proof to create.\n\t * @param unsecuredDocument The data to create the proof for.\n\t * @param unsignedProof The proof options.\n\t * @param signCallback Async callback that signs data with a private key from secure storage. The algorithm parameter indicates the expected signing algorithm (e.g., \"EdDSA\") to enable validation.\n\t * @returns The created proof.\n\t */\n\tpublic static async createProofWithSigner(\n\t\tproofType: ProofTypes,\n\t\tunsecuredDocument: IJsonLdNodeObject,\n\t\tunsignedProof: IProof,\n\t\tsignCallback: (data: Uint8Array, algorithm: string) => Promise<Uint8Array>\n\t): Promise<IProof> {\n\t\tGuards.arrayOneOf(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(proofType),\n\t\t\tproofType,\n\t\t\tObject.values(ProofTypes)\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(unsecuredDocument),\n\t\t\tunsecuredDocument\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(ProofHelper.CLASS_NAME, nameof(unsignedProof), unsignedProof);\n\t\tGuards.function(ProofHelper.CLASS_NAME, nameof(signCallback), signCallback);\n\n\t\treturn ProofHelper.createAsyncSignerVerifier(proofType).createProofWithSigner(\n\t\t\tunsecuredDocument,\n\t\t\tunsignedProof,\n\t\t\tsignCallback\n\t\t);\n\t}\n\n\t/**\n\t * Verify a proof for the given data.\n\t * @param securedDocument The credential to verify.\n\t * @param signedProof The proof to verify.\n\t * @param verifyKey The public key to verify the proof with.\n\t * @returns True if the credential was verified.\n\t */\n\tpublic static async verifyProof(\n\t\tsecuredDocument: IJsonLdNodeObject,\n\t\tsignedProof: IProof,\n\t\tverifyKey: IJwk\n\t): Promise<boolean> {\n\t\tGuards.object<IJsonLdNodeObject>(\n\t\t\tProofHelper.CLASS_NAME,\n\t\t\tnameof(securedDocument),\n\t\t\tsecuredDocument\n\t\t);\n\t\tGuards.object<IJsonLdNodeObject>(ProofHelper.CLASS_NAME, nameof(signedProof), signedProof);\n\t\tGuards.stringValue(ProofHelper.CLASS_NAME, nameof(signedProof.type), signedProof.type);\n\t\tGuards.object<IJwk>(ProofHelper.CLASS_NAME, nameof(verifyKey), verifyKey);\n\n\t\tconst signerVerifier = ProofHelper.createSignerVerifier(signedProof.type);\n\n\t\treturn signerVerifier.verifyProof(securedDocument, signedProof, verifyKey);\n\t}\n\n\t/**\n\t * Create an unsigned proof.\n\t * @param proofType The type of proof to create.\n\t * @param verificationMethodId The verification method id.\n\t * @param otherParams Other parameters for the proof.\n\t * @returns The created proof.\n\t * @throws GeneralError if the proof type is not supported.\n\t */\n\tpublic static createUnsignedProof(\n\t\tproofType: ProofTypes,\n\t\tverificationMethodId: string,\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\totherParams?: any\n\t): IProof {\n\t\tlet proof: IProof | undefined;\n\t\tif (proofType === ProofTypes.DataIntegrityProof) {\n\t\t\tproof = {\n\t\t\t\t\"@context\": DidContexts.ContextDataIntegrity,\n\t\t\t\ttype: ProofTypes.DataIntegrityProof,\n\t\t\t\tcryptosuite: DidCryptoSuites.EdDSAJcs2022,\n\t\t\t\tcreated: new Date(Date.now()).toISOString(),\n\t\t\t\tverificationMethod: verificationMethodId,\n\t\t\t\tproofPurpose: \"assertionMethod\",\n\t\t\t\t...otherParams\n\t\t\t};\n\t\t} else if (proofType === ProofTypes.JsonWebSignature2020) {\n\t\t\tproof = {\n\t\t\t\t\"@context\": DidContexts.ContextSecurityJws2020,\n\t\t\t\ttype: ProofTypes.JsonWebSignature2020,\n\t\t\t\tcreated: new Date(Date.now()).toISOString(),\n\t\t\t\tverificationMethod: verificationMethodId,\n\t\t\t\tproofPurpose: \"assertionMethod\",\n\t\t\t\t...otherParams\n\t\t\t};\n\t\t}\n\t\tif (Is.empty(proof)) {\n\t\t\tthrow new GeneralError(ProofHelper.CLASS_NAME, \"unsupportedProofType\", { proofType });\n\t\t}\n\t\treturn proof;\n\t}\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"verifiableCredentialHelper.js","sourceRoot":"","sources":["../../../src/utils/verifiableCredentialHelper.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACtC;;OAEG;IACI,MAAM,CAAU,UAAU,gCAAgD;IAEjF;;;;OAIG;IACI,MAAM,CAAC,UAAU,CACvB,oBAA8C;QAE9C,MAAM,cAAc,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC1F,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,WAAW,CAAC;QAChC,CAAC;QACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,WAAW,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAC9B,oBAA8C;QAE9C,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,oBAA8C;QACzE,OAAO,CACN,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,YAAY,CAAC;YAC5D,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAChE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAC1B,oBAA8C,EAC9C,UAAkB;QAElB,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YACjF,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,oBAA8C;QACxE,OAAO,CACN,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,WAAW,CAAC;YAC3D,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAC9D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CACzB,oBAA8C,EAC9C,SAAiB;QAEjB,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YACjF,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ArrayHelper, Is, ObjectHelper } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { DidContexts } from \"../models/didContexts.js\";\nimport type { IDidVerifiableCredential } from \"../models/IDidVerifiableCredential.js\";\n\n/**\n * Helper methods for creating and verifying proofs.\n */\nexport class VerifiableCredentialHelper {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<VerifiableCredentialHelper>();\n\n\t/**\n\t * Get the context for the verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the expiration date from.\n\t * @returns The context.\n\t */\n\tpublic static getContext(\n\t\tverifiableCredential: IDidVerifiableCredential\n\t): typeof DidContexts.ContextVCv1 | typeof DidContexts.ContextVCv2 | undefined {\n\t\tconst contextVersion = VerifiableCredentialHelper.getContextVersion(verifiableCredential);\n\t\tif (contextVersion === \"v1\") {\n\t\t\treturn DidContexts.ContextVCv1;\n\t\t}\n\t\tif (contextVersion === \"v2\") {\n\t\t\treturn DidContexts.ContextVCv2;\n\t\t}\n\t}\n\n\t/**\n\t * Get the context version for the verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the expiration date from.\n\t * @returns The context version.\n\t */\n\tpublic static getContextVersion(\n\t\tverifiableCredential: IDidVerifiableCredential\n\t): \"v1\" | \"v2\" | undefined {\n\t\tconst context = ArrayHelper.fromObjectOrArray(verifiableCredential[\"@context\"]);\n\t\tif (Is.arrayValue(context)) {\n\t\t\tif (context.includes(DidContexts.ContextVCv1)) {\n\t\t\t\treturn \"v1\";\n\t\t\t}\n\t\t\tif (context.includes(DidContexts.ContextVCv2)) {\n\t\t\t\treturn \"v2\";\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the valid until date from a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the expiration date from.\n\t * @returns The expiration date, if available.\n\t */\n\tpublic static getValidUntil(verifiableCredential: IDidVerifiableCredential): string | undefined {\n\t\treturn (\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"validUntil\") ??\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"expirationDate\")\n\t\t);\n\t}\n\n\t/**\n\t * Set the valid until date on a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to set the expiration date on.\n\t * @param validUntil The expiration date to set.\n\t */\n\tpublic static setValidUntil(\n\t\tverifiableCredential: IDidVerifiableCredential,\n\t\tvalidUntil: string\n\t): void {\n\t\tif (VerifiableCredentialHelper.getContextVersion(verifiableCredential) === \"v2\") {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"validUntil\", validUntil);\n\t\t} else {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"expirationDate\", validUntil);\n\t\t}\n\t}\n\n\t/**\n\t * Get the valid from from a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the issuance date from.\n\t * @returns The issuance date, if available.\n\t */\n\tpublic static getValidFrom(verifiableCredential: IDidVerifiableCredential): string | undefined {\n\t\treturn (\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"validFrom\") ??\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"issuanceDate\")\n\t\t);\n\t}\n\n\t/**\n\t * Set the valid from date on a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to set the issuance date on.\n\t * @param validFrom The issuance date to set.\n\t */\n\tpublic static setValidFrom(\n\t\tverifiableCredential: IDidVerifiableCredential,\n\t\tvalidFrom: string\n\t): void {\n\t\tif (VerifiableCredentialHelper.getContextVersion(verifiableCredential) === \"v2\") {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"validFrom\", validFrom);\n\t\t} else {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"issuanceDate\", validFrom);\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"verifiableCredentialHelper.js","sourceRoot":"","sources":["../../../src/utils/verifiableCredentialHelper.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD;;GAEG;AACH,MAAM,OAAO,0BAA0B;IACtC;;OAEG;IACI,MAAM,CAAU,UAAU,gCAAgD;IAEjF;;;;OAIG;IACI,MAAM,CAAC,UAAU,CACvB,oBAA8C;QAE9C,MAAM,cAAc,GAAG,0BAA0B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC1F,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,WAAW,CAAC;QAChC,CAAC;QACD,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,WAAW,CAAC,WAAW,CAAC;QAChC,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,iBAAiB,CAC9B,oBAA8C;QAE9C,MAAM,OAAO,GAAG,WAAW,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,IAAI,EAAE,CAAC,UAAU,CAAS,OAAO,CAAC,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACb,CAAC;YACD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAAC,oBAA8C;QACzE,OAAO,CACN,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,YAAY,CAAC;YAC5D,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAChE,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,aAAa,CAC1B,oBAA8C,EAC9C,UAAkB;QAElB,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YACjF,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC9E,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CAAC,oBAA8C;QACxE,OAAO,CACN,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,WAAW,CAAC;YAC3D,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAC9D,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,MAAM,CAAC,YAAY,CACzB,oBAA8C,EAC9C,SAAiB;QAEjB,IAAI,0BAA0B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YACjF,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,WAAW,CAAC,oBAAoB,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;QAC3E,CAAC;IACF,CAAC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { ArrayHelper, Is, ObjectHelper } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { DidContexts } from \"../models/didContexts.js\";\nimport type { IDidVerifiableCredential } from \"../models/IDidVerifiableCredential.js\";\n\n/**\n * Helper methods for creating and verifying proofs.\n */\nexport class VerifiableCredentialHelper {\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<VerifiableCredentialHelper>();\n\n\t/**\n\t * Get the context for the verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the expiration date from.\n\t * @returns The context.\n\t */\n\tpublic static getContext(\n\t\tverifiableCredential: IDidVerifiableCredential\n\t): typeof DidContexts.ContextVCv1 | typeof DidContexts.ContextVCv2 | undefined {\n\t\tconst contextVersion = VerifiableCredentialHelper.getContextVersion(verifiableCredential);\n\t\tif (contextVersion === \"v1\") {\n\t\t\treturn DidContexts.ContextVCv1;\n\t\t}\n\t\tif (contextVersion === \"v2\") {\n\t\t\treturn DidContexts.ContextVCv2;\n\t\t}\n\t}\n\n\t/**\n\t * Get the context version for the verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the expiration date from.\n\t * @returns The context version.\n\t */\n\tpublic static getContextVersion(\n\t\tverifiableCredential: IDidVerifiableCredential\n\t): \"v1\" | \"v2\" | undefined {\n\t\tconst context = ArrayHelper.fromObjectOrArray(verifiableCredential[\"@context\"]);\n\t\tif (Is.arrayValue<string>(context)) {\n\t\t\tif (context.includes(DidContexts.ContextVCv1)) {\n\t\t\t\treturn \"v1\";\n\t\t\t}\n\t\t\tif (context.includes(DidContexts.ContextVCv2)) {\n\t\t\t\treturn \"v2\";\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the valid until date from a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the expiration date from.\n\t * @returns The expiration date, if available.\n\t */\n\tpublic static getValidUntil(verifiableCredential: IDidVerifiableCredential): string | undefined {\n\t\treturn (\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"validUntil\") ??\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"expirationDate\")\n\t\t);\n\t}\n\n\t/**\n\t * Set the valid until date on a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to set the expiration date on.\n\t * @param validUntil The expiration date to set.\n\t */\n\tpublic static setValidUntil(\n\t\tverifiableCredential: IDidVerifiableCredential,\n\t\tvalidUntil: string\n\t): void {\n\t\tif (VerifiableCredentialHelper.getContextVersion(verifiableCredential) === \"v2\") {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"validUntil\", validUntil);\n\t\t} else {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"expirationDate\", validUntil);\n\t\t}\n\t}\n\n\t/**\n\t * Get the valid from from a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to extract the issuance date from.\n\t * @returns The issuance date, if available.\n\t */\n\tpublic static getValidFrom(verifiableCredential: IDidVerifiableCredential): string | undefined {\n\t\treturn (\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"validFrom\") ??\n\t\t\tObjectHelper.propertyGet(verifiableCredential, \"issuanceDate\")\n\t\t);\n\t}\n\n\t/**\n\t * Set the valid from date on a verifiable credential.\n\t * @param verifiableCredential The verifiable credential to set the issuance date on.\n\t * @param validFrom The issuance date to set.\n\t */\n\tpublic static setValidFrom(\n\t\tverifiableCredential: IDidVerifiableCredential,\n\t\tvalidFrom: string\n\t): void {\n\t\tif (VerifiableCredentialHelper.getContextVersion(verifiableCredential) === \"v2\") {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"validFrom\", validFrom);\n\t\t} else {\n\t\t\tObjectHelper.propertySet(verifiableCredential, \"issuanceDate\", validFrom);\n\t\t}\n\t}\n}\n"]}
package/docs/changelog.md CHANGED
@@ -1,6 +1,34 @@
1
1
  # Changelog
2
2
 
3
- ## [0.0.3-next.60](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.59...standards-w3c-did-v0.0.3-next.60) (2026-04-21)
3
+ ## [0.0.3-next.62](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.61...standards-w3c-did-v0.0.3-next.62) (2026-05-18)
4
+
5
+
6
+ ### Features
7
+
8
+ * update schemas with new enum format ([4851603](https://github.com/iotaledger/twin-standards/commit/4851603f26910fafd7fe22b46533814dba3b041c))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * devDependencies
15
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.61 to 0.0.3-next.62
16
+
17
+ ## [0.0.3-next.61](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.60...standards-w3c-did-v0.0.3-next.61) (2026-05-11)
18
+
19
+
20
+ ### Features
21
+
22
+ * typescript 6 update ([79bfb52](https://github.com/iotaledger/twin-standards/commit/79bfb52e3dcb24689cec7b201dde822bcee970c5))
23
+
24
+
25
+ ### Dependencies
26
+
27
+ * The following workspace dependencies were updated
28
+ * devDependencies
29
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.60 to 0.0.3-next.61
30
+
31
+ ## [0.0.3-next.60](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.59...standards-w3c-did-v0.0.3-next.60) (2026-04-21)
4
32
 
5
33
 
6
34
  ### Miscellaneous Chores
@@ -14,7 +42,7 @@
14
42
  * devDependencies
15
43
  * @twin.org/standards-ld-contexts bumped from 0.0.3-next.59 to 0.0.3-next.60
16
44
 
17
- ## [0.0.3-next.59](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.58...standards-w3c-did-v0.0.3-next.59) (2026-04-07)
45
+ ## [0.0.3-next.59](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.58...standards-w3c-did-v0.0.3-next.59) (2026-04-07)
18
46
 
19
47
 
20
48
  ### Miscellaneous Chores
@@ -28,7 +56,7 @@
28
56
  * devDependencies
29
57
  * @twin.org/standards-ld-contexts bumped from 0.0.3-next.58 to 0.0.3-next.59
30
58
 
31
- ## [0.0.3-next.58](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.57...standards-w3c-did-v0.0.3-next.58) (2026-03-25)
59
+ ## [0.0.3-next.58](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.57...standards-w3c-did-v0.0.3-next.58) (2026-03-25)
32
60
 
33
61
 
34
62
  ### Miscellaneous Chores
@@ -42,7 +70,7 @@
42
70
  * devDependencies
43
71
  * @twin.org/standards-ld-contexts bumped from 0.0.3-next.57 to 0.0.3-next.58
44
72
 
45
- ## [0.0.3-next.57](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.56...standards-w3c-did-v0.0.3-next.57) (2026-03-20)
73
+ ## [0.0.3-next.57](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.56...standards-w3c-did-v0.0.3-next.57) (2026-03-20)
46
74
 
47
75
 
48
76
  ### Miscellaneous Chores
@@ -56,7 +84,7 @@
56
84
  * devDependencies
57
85
  * @twin.org/standards-ld-contexts bumped from 0.0.3-next.56 to 0.0.3-next.57
58
86
 
59
- ## [0.0.3-next.56](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.55...standards-w3c-did-v0.0.3-next.56) (2026-03-20)
87
+ ## [0.0.3-next.56](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.55...standards-w3c-did-v0.0.3-next.56) (2026-03-20)
60
88
 
61
89
 
62
90
  ### Miscellaneous Chores
@@ -70,13 +98,13 @@
70
98
  * devDependencies
71
99
  * @twin.org/standards-ld-contexts bumped from 0.0.3-next.55 to 0.0.3-next.56
72
100
 
73
- ## [0.0.3-next.55](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.54...standards-w3c-did-v0.0.3-next.55) (2026-03-19)
101
+ ## [0.0.3-next.55](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.54...standards-w3c-did-v0.0.3-next.55) (2026-03-19)
74
102
 
75
103
 
76
104
  ### Features
77
105
 
78
- * update to new ts-ts-schema and generic constructs ([4dff991](https://github.com/twinfoundation/standards/commit/4dff991fb70de4320668641ed94abf8e9b06acad))
79
- * use local LD contexts in tests instead of remote ones ([#201](https://github.com/twinfoundation/standards/issues/201)) ([7d6c6ea](https://github.com/twinfoundation/standards/commit/7d6c6ea7b952fb9e2240ff252f8ce85c42d78985))
106
+ * update to new ts-ts-schema and generic constructs ([4dff991](https://github.com/iotaledger/twin-standards/commit/4dff991fb70de4320668641ed94abf8e9b06acad))
107
+ * use local LD contexts in tests instead of remote ones ([#201](https://github.com/iotaledger/twin-standards/issues/201)) ([7d6c6ea](https://github.com/iotaledger/twin-standards/commit/7d6c6ea7b952fb9e2240ff252f8ce85c42d78985))
80
108
 
81
109
 
82
110
  ### Dependencies
@@ -85,655 +113,655 @@
85
113
  * devDependencies
86
114
  * @twin.org/standards-ld-contexts bumped from 0.0.3-next.54 to 0.0.3-next.55
87
115
 
88
- ## [0.0.3-next.54](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.53...standards-w3c-did-v0.0.3-next.54) (2026-03-12)
116
+ ## [0.0.3-next.54](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.53...standards-w3c-did-v0.0.3-next.54) (2026-03-12)
89
117
 
90
118
 
91
119
  ### Miscellaneous Chores
92
120
 
93
121
  * **standards-w3c-did:** Synchronize repo versions
94
122
 
95
- ## [0.0.3-next.53](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.52...standards-w3c-did-v0.0.3-next.53) (2026-03-11)
123
+ ## [0.0.3-next.53](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.52...standards-w3c-did-v0.0.3-next.53) (2026-03-11)
96
124
 
97
125
 
98
126
  ### Features
99
127
 
100
- * improve caching ([#196](https://github.com/twinfoundation/standards/issues/196)) ([968e61a](https://github.com/twinfoundation/standards/commit/968e61a04156a22cf5ffc3ba237a42a81ec2e0c1))
128
+ * improve caching ([#196](https://github.com/iotaledger/twin-standards/issues/196)) ([968e61a](https://github.com/iotaledger/twin-standards/commit/968e61a04156a22cf5ffc3ba237a42a81ec2e0c1))
101
129
 
102
- ## [0.0.3-next.52](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.51...standards-w3c-did-v0.0.3-next.52) (2026-03-10)
130
+ ## [0.0.3-next.52](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.51...standards-w3c-did-v0.0.3-next.52) (2026-03-10)
103
131
 
104
132
 
105
133
  ### Miscellaneous Chores
106
134
 
107
135
  * **standards-w3c-did:** Synchronize repo versions
108
136
 
109
- ## [0.0.3-next.51](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.50...standards-w3c-did-v0.0.3-next.51) (2026-03-10)
137
+ ## [0.0.3-next.51](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.50...standards-w3c-did-v0.0.3-next.51) (2026-03-10)
110
138
 
111
139
 
112
140
  ### Miscellaneous Chores
113
141
 
114
142
  * **standards-w3c-did:** Synchronize repo versions
115
143
 
116
- ## [0.0.3-next.50](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.49...standards-w3c-did-v0.0.3-next.50) (2026-03-09)
144
+ ## [0.0.3-next.50](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.49...standards-w3c-did-v0.0.3-next.50) (2026-03-09)
117
145
 
118
146
 
119
147
  ### Miscellaneous Chores
120
148
 
121
149
  * **standards-w3c-did:** Synchronize repo versions
122
150
 
123
- ## [0.0.3-next.49](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.48...standards-w3c-did-v0.0.3-next.49) (2026-03-06)
151
+ ## [0.0.3-next.49](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.48...standards-w3c-did-v0.0.3-next.49) (2026-03-06)
124
152
 
125
153
 
126
154
  ### Miscellaneous Chores
127
155
 
128
156
  * **standards-w3c-did:** Synchronize repo versions
129
157
 
130
- ## [0.0.3-next.48](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.47...standards-w3c-did-v0.0.3-next.48) (2026-03-06)
158
+ ## [0.0.3-next.48](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.47...standards-w3c-did-v0.0.3-next.48) (2026-03-06)
131
159
 
132
160
 
133
161
  ### Miscellaneous Chores
134
162
 
135
163
  * **standards-w3c-did:** Synchronize repo versions
136
164
 
137
- ## [0.0.3-next.47](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.46...standards-w3c-did-v0.0.3-next.47) (2026-03-06)
165
+ ## [0.0.3-next.47](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.46...standards-w3c-did-v0.0.3-next.47) (2026-03-06)
138
166
 
139
167
 
140
168
  ### Miscellaneous Chores
141
169
 
142
170
  * **standards-w3c-did:** Synchronize repo versions
143
171
 
144
- ## [0.0.3-next.46](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.45...standards-w3c-did-v0.0.3-next.46) (2026-03-05)
172
+ ## [0.0.3-next.46](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.45...standards-w3c-did-v0.0.3-next.46) (2026-03-05)
145
173
 
146
174
 
147
175
  ### Miscellaneous Chores
148
176
 
149
177
  * **standards-w3c-did:** Synchronize repo versions
150
178
 
151
- ## [0.0.3-next.45](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.44...standards-w3c-did-v0.0.3-next.45) (2026-03-04)
179
+ ## [0.0.3-next.45](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.44...standards-w3c-did-v0.0.3-next.45) (2026-03-04)
152
180
 
153
181
 
154
182
  ### Miscellaneous Chores
155
183
 
156
184
  * **standards-w3c-did:** Synchronize repo versions
157
185
 
158
- ## [0.0.3-next.44](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.43...standards-w3c-did-v0.0.3-next.44) (2026-03-04)
186
+ ## [0.0.3-next.44](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.43...standards-w3c-did-v0.0.3-next.44) (2026-03-04)
159
187
 
160
188
 
161
189
  ### Miscellaneous Chores
162
190
 
163
191
  * **standards-w3c-did:** Synchronize repo versions
164
192
 
165
- ## [0.0.3-next.43](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.42...standards-w3c-did-v0.0.3-next.43) (2026-02-25)
193
+ ## [0.0.3-next.43](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.42...standards-w3c-did-v0.0.3-next.43) (2026-02-25)
166
194
 
167
195
 
168
196
  ### Features
169
197
 
170
- * update schemas to support additional properties ([4679e21](https://github.com/twinfoundation/standards/commit/4679e21728a54cb587f120874841c3d1ed3771de))
198
+ * update schemas to support additional properties ([4679e21](https://github.com/iotaledger/twin-standards/commit/4679e21728a54cb587f120874841c3d1ed3771de))
171
199
 
172
- ## [0.0.3-next.42](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.41...standards-w3c-did-v0.0.3-next.42) (2026-02-25)
200
+ ## [0.0.3-next.42](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.41...standards-w3c-did-v0.0.3-next.42) (2026-02-25)
173
201
 
174
202
 
175
203
  ### Features
176
204
 
177
- * remove IJsonLdNodeObject base interfaces ([#172](https://github.com/twinfoundation/standards/issues/172)) ([8ff8d7a](https://github.com/twinfoundation/standards/commit/8ff8d7a2892d626879b76ba5da912469ff899954))
205
+ * remove IJsonLdNodeObject base interfaces ([#172](https://github.com/iotaledger/twin-standards/issues/172)) ([8ff8d7a](https://github.com/iotaledger/twin-standards/commit/8ff8d7a2892d626879b76ba5da912469ff899954))
178
206
 
179
- ## [0.0.3-next.41](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.40...standards-w3c-did-v0.0.3-next.41) (2026-02-23)
207
+ ## [0.0.3-next.41](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.40...standards-w3c-did-v0.0.3-next.41) (2026-02-23)
180
208
 
181
209
 
182
210
  ### Miscellaneous Chores
183
211
 
184
212
  * **standards-w3c-did:** Synchronize repo versions
185
213
 
186
- ## [0.0.3-next.40](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.39...standards-w3c-did-v0.0.3-next.40) (2026-02-18)
214
+ ## [0.0.3-next.40](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.39...standards-w3c-did-v0.0.3-next.40) (2026-02-18)
187
215
 
188
216
 
189
217
  ### Features
190
218
 
191
- * add async proof signing with callback support ([#162](https://github.com/twinfoundation/standards/issues/162)) ([d1d8559](https://github.com/twinfoundation/standards/commit/d1d8559cf75e98cebd460ed7bb4c8a41094b2468))
219
+ * add async proof signing with callback support ([#162](https://github.com/iotaledger/twin-standards/issues/162)) ([d1d8559](https://github.com/iotaledger/twin-standards/commit/d1d8559cf75e98cebd460ed7bb4c8a41094b2468))
192
220
 
193
- ## [0.0.3-next.39](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.38...standards-w3c-did-v0.0.3-next.39) (2026-02-13)
221
+ ## [0.0.3-next.39](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.38...standards-w3c-did-v0.0.3-next.39) (2026-02-13)
194
222
 
195
223
 
196
224
  ### Miscellaneous Chores
197
225
 
198
226
  * **standards-w3c-did:** Synchronize repo versions
199
227
 
200
- ## [0.0.3-next.38](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.37...standards-w3c-did-v0.0.3-next.38) (2026-02-13)
228
+ ## [0.0.3-next.38](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.37...standards-w3c-did-v0.0.3-next.38) (2026-02-13)
201
229
 
202
230
 
203
231
  ### Miscellaneous Chores
204
232
 
205
233
  * **standards-w3c-did:** Synchronize repo versions
206
234
 
207
- ## [0.0.3-next.37](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.36...standards-w3c-did-v0.0.3-next.37) (2026-02-12)
235
+ ## [0.0.3-next.37](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.36...standards-w3c-did-v0.0.3-next.37) (2026-02-12)
208
236
 
209
237
 
210
238
  ### Miscellaneous Chores
211
239
 
212
240
  * **standards-w3c-did:** Synchronize repo versions
213
241
 
214
- ## [0.0.3-next.36](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.35...standards-w3c-did-v0.0.3-next.36) (2026-02-11)
242
+ ## [0.0.3-next.36](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.35...standards-w3c-did-v0.0.3-next.36) (2026-02-11)
215
243
 
216
244
 
217
245
  ### Miscellaneous Chores
218
246
 
219
247
  * **standards-w3c-did:** Synchronize repo versions
220
248
 
221
- ## [0.0.3-next.35](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.34...standards-w3c-did-v0.0.3-next.35) (2026-02-10)
249
+ ## [0.0.3-next.35](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.34...standards-w3c-did-v0.0.3-next.35) (2026-02-10)
222
250
 
223
251
 
224
252
  ### Features
225
253
 
226
- * vc helper methods ([#148](https://github.com/twinfoundation/standards/issues/148)) ([c07ddf8](https://github.com/twinfoundation/standards/commit/c07ddf84ed4926ce38cdffbfa3a01cac7d0ee01d))
254
+ * vc helper methods ([#148](https://github.com/iotaledger/twin-standards/issues/148)) ([c07ddf8](https://github.com/iotaledger/twin-standards/commit/c07ddf84ed4926ce38cdffbfa3a01cac7d0ee01d))
227
255
 
228
- ## [0.0.3-next.34](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.33...standards-w3c-did-v0.0.3-next.34) (2026-02-10)
256
+ ## [0.0.3-next.34](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.33...standards-w3c-did-v0.0.3-next.34) (2026-02-10)
229
257
 
230
258
 
231
259
  ### Features
232
260
 
233
- * unece type codes ([#146](https://github.com/twinfoundation/standards/issues/146)) ([7fb94cd](https://github.com/twinfoundation/standards/commit/7fb94cd5c920c7371782dd9d4d52faa7d1aa51ca))
261
+ * unece type codes ([#146](https://github.com/iotaledger/twin-standards/issues/146)) ([7fb94cd](https://github.com/iotaledger/twin-standards/commit/7fb94cd5c920c7371782dd9d4d52faa7d1aa51ca))
234
262
 
235
- ## [0.0.3-next.33](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.32...standards-w3c-did-v0.0.3-next.33) (2026-02-06)
263
+ ## [0.0.3-next.33](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.32...standards-w3c-did-v0.0.3-next.33) (2026-02-06)
236
264
 
237
265
 
238
266
  ### Features
239
267
 
240
- * Add additional properties to the verifiable credential data model ([#8](https://github.com/twinfoundation/standards/issues/8)) ([4b7af9c](https://github.com/twinfoundation/standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
241
- * add context id features ([#64](https://github.com/twinfoundation/standards/issues/64)) ([e68bb87](https://github.com/twinfoundation/standards/commit/e68bb87a215f3c3956cfd6400a5e1e2a16256085))
242
- * add validate-locales ([838389c](https://github.com/twinfoundation/standards/commit/838389c1daf62ed42397d5758d267c3d1a37fa4d))
243
- * alg usage ([#19](https://github.com/twinfoundation/standards/issues/19)) ([3946fb2](https://github.com/twinfoundation/standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
244
- * eslint migration to flat config ([648c1a1](https://github.com/twinfoundation/standards/commit/648c1a1e69d99b6b0cf69358ec6bdeecdbe3a5ea))
245
- * export additional schemas ([4201127](https://github.com/twinfoundation/standards/commit/42011276a0b9110b75557c555f859db4d7382aca))
246
- * improved namespaces and contexts ([#102](https://github.com/twinfoundation/standards/issues/102)) ([c74c370](https://github.com/twinfoundation/standards/commit/c74c370cd8145d6166ca4454353f3774c302ac3b))
247
- * normalise type outputs ([0b3aed7](https://github.com/twinfoundation/standards/commit/0b3aed7df0802cd609423bbd7fda6bde601d3ceb))
248
- * register schemas at hosted location ([#128](https://github.com/twinfoundation/standards/issues/128)) ([ab35298](https://github.com/twinfoundation/standards/commit/ab35298c812d69f043f69c35ab5aa1ac4a6aaa90))
249
- * separate DID VC v1 and v2 properties ([935cf0a](https://github.com/twinfoundation/standards/commit/935cf0a9cdee28c6f2d5480f1f2de126c838caf5))
250
- * separate DID VP v1 and v2 properties ([335a3c2](https://github.com/twinfoundation/standards/commit/335a3c2543ca5dbaae785568617ea85c0a8269ad))
251
- * update framework core ([58c0c3d](https://github.com/twinfoundation/standards/commit/58c0c3dd6cea0e4c2393dc0e3e1eb33a6d06f617))
252
- * update schemas ([c3c11e0](https://github.com/twinfoundation/standards/commit/c3c11e07da6c0d3eac5ea4a68e3ad57f022b2351))
253
- * update to latest JSON schema spec ([7a23930](https://github.com/twinfoundation/standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
254
- * update ts-to-schema generation ([ba4e76d](https://github.com/twinfoundation/standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
255
- * update ts-to-schema generation ([0905daa](https://github.com/twinfoundation/standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
256
- * use shared store mechanism ([#11](https://github.com/twinfoundation/standards/issues/11)) ([96fa237](https://github.com/twinfoundation/standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
268
+ * Add additional properties to the verifiable credential data model ([#8](https://github.com/iotaledger/twin-standards/issues/8)) ([4b7af9c](https://github.com/iotaledger/twin-standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
269
+ * add context id features ([#64](https://github.com/iotaledger/twin-standards/issues/64)) ([e68bb87](https://github.com/iotaledger/twin-standards/commit/e68bb87a215f3c3956cfd6400a5e1e2a16256085))
270
+ * add validate-locales ([838389c](https://github.com/iotaledger/twin-standards/commit/838389c1daf62ed42397d5758d267c3d1a37fa4d))
271
+ * alg usage ([#19](https://github.com/iotaledger/twin-standards/issues/19)) ([3946fb2](https://github.com/iotaledger/twin-standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
272
+ * eslint migration to flat config ([648c1a1](https://github.com/iotaledger/twin-standards/commit/648c1a1e69d99b6b0cf69358ec6bdeecdbe3a5ea))
273
+ * export additional schemas ([4201127](https://github.com/iotaledger/twin-standards/commit/42011276a0b9110b75557c555f859db4d7382aca))
274
+ * improved namespaces and contexts ([#102](https://github.com/iotaledger/twin-standards/issues/102)) ([c74c370](https://github.com/iotaledger/twin-standards/commit/c74c370cd8145d6166ca4454353f3774c302ac3b))
275
+ * normalise type outputs ([0b3aed7](https://github.com/iotaledger/twin-standards/commit/0b3aed7df0802cd609423bbd7fda6bde601d3ceb))
276
+ * register schemas at hosted location ([#128](https://github.com/iotaledger/twin-standards/issues/128)) ([ab35298](https://github.com/iotaledger/twin-standards/commit/ab35298c812d69f043f69c35ab5aa1ac4a6aaa90))
277
+ * separate DID VC v1 and v2 properties ([935cf0a](https://github.com/iotaledger/twin-standards/commit/935cf0a9cdee28c6f2d5480f1f2de126c838caf5))
278
+ * separate DID VP v1 and v2 properties ([335a3c2](https://github.com/iotaledger/twin-standards/commit/335a3c2543ca5dbaae785568617ea85c0a8269ad))
279
+ * update framework core ([58c0c3d](https://github.com/iotaledger/twin-standards/commit/58c0c3dd6cea0e4c2393dc0e3e1eb33a6d06f617))
280
+ * update schemas ([c3c11e0](https://github.com/iotaledger/twin-standards/commit/c3c11e07da6c0d3eac5ea4a68e3ad57f022b2351))
281
+ * update to latest JSON schema spec ([7a23930](https://github.com/iotaledger/twin-standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
282
+ * update ts-to-schema generation ([ba4e76d](https://github.com/iotaledger/twin-standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
283
+ * update ts-to-schema generation ([0905daa](https://github.com/iotaledger/twin-standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
284
+ * use shared store mechanism ([#11](https://github.com/iotaledger/twin-standards/issues/11)) ([96fa237](https://github.com/iotaledger/twin-standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
257
285
 
258
286
 
259
287
  ### Bug Fixes
260
288
 
261
- * updating the missing packages ([#114](https://github.com/twinfoundation/standards/issues/114)) ([90b03f8](https://github.com/twinfoundation/standards/commit/90b03f8bdcd81506284d74a445840386c2da2d35))
289
+ * updating the missing packages ([#114](https://github.com/iotaledger/twin-standards/issues/114)) ([90b03f8](https://github.com/iotaledger/twin-standards/commit/90b03f8bdcd81506284d74a445840386c2da2d35))
262
290
 
263
- ## [0.0.3-next.32](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.31...standards-w3c-did-v0.0.3-next.32) (2026-02-06)
291
+ ## [0.0.3-next.32](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.31...standards-w3c-did-v0.0.3-next.32) (2026-02-06)
264
292
 
265
293
 
266
294
  ### Miscellaneous Chores
267
295
 
268
296
  * **standards-w3c-did:** Synchronize repo versions
269
297
 
270
- ## [0.0.3-next.31](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.30...standards-w3c-did-v0.0.3-next.31) (2026-02-05)
298
+ ## [0.0.3-next.31](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.30...standards-w3c-did-v0.0.3-next.31) (2026-02-05)
271
299
 
272
300
 
273
301
  ### Miscellaneous Chores
274
302
 
275
303
  * **standards-w3c-did:** Synchronize repo versions
276
304
 
277
- ## [0.0.3-next.30](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.29...standards-w3c-did-v0.0.3-next.30) (2026-02-04)
305
+ ## [0.0.3-next.30](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.29...standards-w3c-did-v0.0.3-next.30) (2026-02-04)
278
306
 
279
307
 
280
308
  ### Miscellaneous Chores
281
309
 
282
310
  * **standards-w3c-did:** Synchronize repo versions
283
311
 
284
- ## [0.0.3-next.29](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.28...standards-w3c-did-v0.0.3-next.29) (2026-02-03)
312
+ ## [0.0.3-next.29](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.28...standards-w3c-did-v0.0.3-next.29) (2026-02-03)
285
313
 
286
314
 
287
315
  ### Miscellaneous Chores
288
316
 
289
317
  * **standards-w3c-did:** Synchronize repo versions
290
318
 
291
- ## [0.0.3-next.28](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.27...standards-w3c-did-v0.0.3-next.28) (2026-02-03)
319
+ ## [0.0.3-next.28](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.27...standards-w3c-did-v0.0.3-next.28) (2026-02-03)
292
320
 
293
321
 
294
322
  ### Miscellaneous Chores
295
323
 
296
324
  * **standards-w3c-did:** Synchronize repo versions
297
325
 
298
- ## [0.0.3-next.27](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.26...standards-w3c-did-v0.0.3-next.27) (2026-02-03)
326
+ ## [0.0.3-next.27](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.26...standards-w3c-did-v0.0.3-next.27) (2026-02-03)
299
327
 
300
328
 
301
329
  ### Miscellaneous Chores
302
330
 
303
331
  * **standards-w3c-did:** Synchronize repo versions
304
332
 
305
- ## [0.0.3-next.26](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.25...standards-w3c-did-v0.0.3-next.26) (2026-02-02)
333
+ ## [0.0.3-next.26](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.25...standards-w3c-did-v0.0.3-next.26) (2026-02-02)
306
334
 
307
335
 
308
336
  ### Miscellaneous Chores
309
337
 
310
338
  * **standards-w3c-did:** Synchronize repo versions
311
339
 
312
- ## [0.0.3-next.25](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.24...standards-w3c-did-v0.0.3-next.25) (2026-02-02)
340
+ ## [0.0.3-next.25](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.24...standards-w3c-did-v0.0.3-next.25) (2026-02-02)
313
341
 
314
342
 
315
343
  ### Features
316
344
 
317
- * register schemas at hosted location ([#128](https://github.com/twinfoundation/standards/issues/128)) ([ab35298](https://github.com/twinfoundation/standards/commit/ab35298c812d69f043f69c35ab5aa1ac4a6aaa90))
345
+ * register schemas at hosted location ([#128](https://github.com/iotaledger/twin-standards/issues/128)) ([ab35298](https://github.com/iotaledger/twin-standards/commit/ab35298c812d69f043f69c35ab5aa1ac4a6aaa90))
318
346
 
319
- ## [0.0.3-next.24](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.23...standards-w3c-did-v0.0.3-next.24) (2026-01-30)
347
+ ## [0.0.3-next.24](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.23...standards-w3c-did-v0.0.3-next.24) (2026-01-30)
320
348
 
321
349
 
322
350
  ### Miscellaneous Chores
323
351
 
324
352
  * **standards-w3c-did:** Synchronize repo versions
325
353
 
326
- ## [0.0.3-next.23](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.22...standards-w3c-did-v0.0.3-next.23) (2026-01-30)
354
+ ## [0.0.3-next.23](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.22...standards-w3c-did-v0.0.3-next.23) (2026-01-30)
327
355
 
328
356
 
329
357
  ### Miscellaneous Chores
330
358
 
331
359
  * **standards-w3c-did:** Synchronize repo versions
332
360
 
333
- ## [0.0.3-next.22](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.21...standards-w3c-did-v0.0.3-next.22) (2026-01-29)
361
+ ## [0.0.3-next.22](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.21...standards-w3c-did-v0.0.3-next.22) (2026-01-29)
334
362
 
335
363
 
336
364
  ### Miscellaneous Chores
337
365
 
338
366
  * **standards-w3c-did:** Synchronize repo versions
339
367
 
340
- ## [0.0.3-next.21](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.20...standards-w3c-did-v0.0.3-next.21) (2026-01-23)
368
+ ## [0.0.3-next.21](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.20...standards-w3c-did-v0.0.3-next.21) (2026-01-23)
341
369
 
342
370
 
343
371
  ### Miscellaneous Chores
344
372
 
345
373
  * **standards-w3c-did:** Synchronize repo versions
346
374
 
347
- ## [0.0.3-next.20](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.19...standards-w3c-did-v0.0.3-next.20) (2026-01-21)
375
+ ## [0.0.3-next.20](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.19...standards-w3c-did-v0.0.3-next.20) (2026-01-21)
348
376
 
349
377
 
350
378
  ### Miscellaneous Chores
351
379
 
352
380
  * **standards-w3c-did:** Synchronize repo versions
353
381
 
354
- ## [0.0.3-next.19](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.18...standards-w3c-did-v0.0.3-next.19) (2026-01-21)
382
+ ## [0.0.3-next.19](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.18...standards-w3c-did-v0.0.3-next.19) (2026-01-21)
355
383
 
356
384
 
357
385
  ### Miscellaneous Chores
358
386
 
359
387
  * **standards-w3c-did:** Synchronize repo versions
360
388
 
361
- ## [0.0.3-next.18](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.17...standards-w3c-did-v0.0.3-next.18) (2026-01-21)
389
+ ## [0.0.3-next.18](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.17...standards-w3c-did-v0.0.3-next.18) (2026-01-21)
362
390
 
363
391
 
364
392
  ### Miscellaneous Chores
365
393
 
366
394
  * **standards-w3c-did:** Synchronize repo versions
367
395
 
368
- ## [0.0.3-next.17](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.16...standards-w3c-did-v0.0.3-next.17) (2026-01-21)
396
+ ## [0.0.3-next.17](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.16...standards-w3c-did-v0.0.3-next.17) (2026-01-21)
369
397
 
370
398
 
371
399
  ### Bug Fixes
372
400
 
373
- * updating the missing packages ([#114](https://github.com/twinfoundation/standards/issues/114)) ([90b03f8](https://github.com/twinfoundation/standards/commit/90b03f8bdcd81506284d74a445840386c2da2d35))
401
+ * updating the missing packages ([#114](https://github.com/iotaledger/twin-standards/issues/114)) ([90b03f8](https://github.com/iotaledger/twin-standards/commit/90b03f8bdcd81506284d74a445840386c2da2d35))
374
402
 
375
- ## [0.0.3-next.16](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.15...standards-w3c-did-v0.0.3-next.16) (2026-01-19)
403
+ ## [0.0.3-next.16](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.15...standards-w3c-did-v0.0.3-next.16) (2026-01-19)
376
404
 
377
405
 
378
406
  ### Miscellaneous Chores
379
407
 
380
408
  * **standards-w3c-did:** Synchronize repo versions
381
409
 
382
- ## [0.0.3-next.15](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.14...standards-w3c-did-v0.0.3-next.15) (2026-01-16)
410
+ ## [0.0.3-next.15](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.14...standards-w3c-did-v0.0.3-next.15) (2026-01-16)
383
411
 
384
412
 
385
413
  ### Miscellaneous Chores
386
414
 
387
415
  * **standards-w3c-did:** Synchronize repo versions
388
416
 
389
- ## [0.0.3-next.14](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.13...standards-w3c-did-v0.0.3-next.14) (2026-01-15)
417
+ ## [0.0.3-next.14](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.13...standards-w3c-did-v0.0.3-next.14) (2026-01-15)
390
418
 
391
419
 
392
420
  ### Miscellaneous Chores
393
421
 
394
422
  * **standards-w3c-did:** Synchronize repo versions
395
423
 
396
- ## [0.0.3-next.13](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.12...standards-w3c-did-v0.0.3-next.13) (2026-01-14)
424
+ ## [0.0.3-next.13](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.12...standards-w3c-did-v0.0.3-next.13) (2026-01-14)
397
425
 
398
426
 
399
427
  ### Miscellaneous Chores
400
428
 
401
429
  * **standards-w3c-did:** Synchronize repo versions
402
430
 
403
- ## [0.0.3-next.12](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.11...standards-w3c-did-v0.0.3-next.12) (2026-01-14)
431
+ ## [0.0.3-next.12](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.11...standards-w3c-did-v0.0.3-next.12) (2026-01-14)
404
432
 
405
433
 
406
434
  ### Miscellaneous Chores
407
435
 
408
436
  * **standards-w3c-did:** Synchronize repo versions
409
437
 
410
- ## [0.0.3-next.11](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.10...standards-w3c-did-v0.0.3-next.11) (2026-01-14)
438
+ ## [0.0.3-next.11](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.10...standards-w3c-did-v0.0.3-next.11) (2026-01-14)
411
439
 
412
440
 
413
441
  ### Features
414
442
 
415
- * improved namespaces and contexts ([#102](https://github.com/twinfoundation/standards/issues/102)) ([c74c370](https://github.com/twinfoundation/standards/commit/c74c370cd8145d6166ca4454353f3774c302ac3b))
443
+ * improved namespaces and contexts ([#102](https://github.com/iotaledger/twin-standards/issues/102)) ([c74c370](https://github.com/iotaledger/twin-standards/commit/c74c370cd8145d6166ca4454353f3774c302ac3b))
416
444
 
417
- ## [0.0.3-next.10](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.9...standards-w3c-did-v0.0.3-next.10) (2026-01-13)
445
+ ## [0.0.3-next.10](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.9...standards-w3c-did-v0.0.3-next.10) (2026-01-13)
418
446
 
419
447
 
420
448
  ### Miscellaneous Chores
421
449
 
422
450
  * **standards-w3c-did:** Synchronize repo versions
423
451
 
424
- ## [0.0.3-next.9](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.8...standards-w3c-did-v0.0.3-next.9) (2026-01-09)
452
+ ## [0.0.3-next.9](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.8...standards-w3c-did-v0.0.3-next.9) (2026-01-09)
425
453
 
426
454
 
427
455
  ### Miscellaneous Chores
428
456
 
429
457
  * **standards-w3c-did:** Synchronize repo versions
430
458
 
431
- ## [0.0.3-next.8](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.7...standards-w3c-did-v0.0.3-next.8) (2026-01-08)
459
+ ## [0.0.3-next.8](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.7...standards-w3c-did-v0.0.3-next.8) (2026-01-08)
432
460
 
433
461
 
434
462
  ### Miscellaneous Chores
435
463
 
436
464
  * **standards-w3c-did:** Synchronize repo versions
437
465
 
438
- ## [0.0.3-next.7](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.6...standards-w3c-did-v0.0.3-next.7) (2026-01-06)
466
+ ## [0.0.3-next.7](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.6...standards-w3c-did-v0.0.3-next.7) (2026-01-06)
439
467
 
440
468
 
441
469
  ### Miscellaneous Chores
442
470
 
443
471
  * **standards-w3c-did:** Synchronize repo versions
444
472
 
445
- ## [0.0.3-next.6](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.5...standards-w3c-did-v0.0.3-next.6) (2025-12-03)
473
+ ## [0.0.3-next.6](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.5...standards-w3c-did-v0.0.3-next.6) (2025-12-03)
446
474
 
447
475
 
448
476
  ### Miscellaneous Chores
449
477
 
450
478
  * **standards-w3c-did:** Synchronize repo versions
451
479
 
452
- ## [0.0.3-next.5](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.4...standards-w3c-did-v0.0.3-next.5) (2025-11-28)
480
+ ## [0.0.3-next.5](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.4...standards-w3c-did-v0.0.3-next.5) (2025-11-28)
453
481
 
454
482
 
455
483
  ### Miscellaneous Chores
456
484
 
457
485
  * **standards-w3c-did:** Synchronize repo versions
458
486
 
459
- ## [0.0.3-next.4](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.3...standards-w3c-did-v0.0.3-next.4) (2025-11-18)
487
+ ## [0.0.3-next.4](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.3...standards-w3c-did-v0.0.3-next.4) (2025-11-18)
460
488
 
461
489
 
462
490
  ### Miscellaneous Chores
463
491
 
464
492
  * **standards-w3c-did:** Synchronize repo versions
465
493
 
466
- ## [0.0.3-next.3](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.2...standards-w3c-did-v0.0.3-next.3) (2025-11-18)
494
+ ## [0.0.3-next.3](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.2...standards-w3c-did-v0.0.3-next.3) (2025-11-18)
467
495
 
468
496
 
469
497
  ### Miscellaneous Chores
470
498
 
471
499
  * **standards-w3c-did:** Synchronize repo versions
472
500
 
473
- ## [0.0.3-next.2](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.1...standards-w3c-did-v0.0.3-next.2) (2025-11-11)
501
+ ## [0.0.3-next.2](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.1...standards-w3c-did-v0.0.3-next.2) (2025-11-11)
474
502
 
475
503
 
476
504
  ### Features
477
505
 
478
- * update schemas ([c3c11e0](https://github.com/twinfoundation/standards/commit/c3c11e07da6c0d3eac5ea4a68e3ad57f022b2351))
506
+ * update schemas ([c3c11e0](https://github.com/iotaledger/twin-standards/commit/c3c11e07da6c0d3eac5ea4a68e3ad57f022b2351))
479
507
 
480
- ## [0.0.3-next.1](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.3-next.0...standards-w3c-did-v0.0.3-next.1) (2025-11-10)
508
+ ## [0.0.3-next.1](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.3-next.0...standards-w3c-did-v0.0.3-next.1) (2025-11-10)
481
509
 
482
510
 
483
511
  ### Features
484
512
 
485
- * Add additional properties to the verifiable credential data model ([#8](https://github.com/twinfoundation/standards/issues/8)) ([4b7af9c](https://github.com/twinfoundation/standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
486
- * add context id features ([#64](https://github.com/twinfoundation/standards/issues/64)) ([e68bb87](https://github.com/twinfoundation/standards/commit/e68bb87a215f3c3956cfd6400a5e1e2a16256085))
487
- * add validate-locales ([838389c](https://github.com/twinfoundation/standards/commit/838389c1daf62ed42397d5758d267c3d1a37fa4d))
488
- * alg usage ([#19](https://github.com/twinfoundation/standards/issues/19)) ([3946fb2](https://github.com/twinfoundation/standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
489
- * eslint migration to flat config ([648c1a1](https://github.com/twinfoundation/standards/commit/648c1a1e69d99b6b0cf69358ec6bdeecdbe3a5ea))
490
- * export additional schemas ([4201127](https://github.com/twinfoundation/standards/commit/42011276a0b9110b75557c555f859db4d7382aca))
491
- * normalise type outputs ([0b3aed7](https://github.com/twinfoundation/standards/commit/0b3aed7df0802cd609423bbd7fda6bde601d3ceb))
492
- * separate DID VC v1 and v2 properties ([935cf0a](https://github.com/twinfoundation/standards/commit/935cf0a9cdee28c6f2d5480f1f2de126c838caf5))
493
- * separate DID VP v1 and v2 properties ([335a3c2](https://github.com/twinfoundation/standards/commit/335a3c2543ca5dbaae785568617ea85c0a8269ad))
494
- * update framework core ([58c0c3d](https://github.com/twinfoundation/standards/commit/58c0c3dd6cea0e4c2393dc0e3e1eb33a6d06f617))
495
- * update to latest JSON schema spec ([7a23930](https://github.com/twinfoundation/standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
496
- * update ts-to-schema generation ([ba4e76d](https://github.com/twinfoundation/standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
497
- * update ts-to-schema generation ([0905daa](https://github.com/twinfoundation/standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
498
- * use shared store mechanism ([#11](https://github.com/twinfoundation/standards/issues/11)) ([96fa237](https://github.com/twinfoundation/standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
513
+ * Add additional properties to the verifiable credential data model ([#8](https://github.com/iotaledger/twin-standards/issues/8)) ([4b7af9c](https://github.com/iotaledger/twin-standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
514
+ * add context id features ([#64](https://github.com/iotaledger/twin-standards/issues/64)) ([e68bb87](https://github.com/iotaledger/twin-standards/commit/e68bb87a215f3c3956cfd6400a5e1e2a16256085))
515
+ * add validate-locales ([838389c](https://github.com/iotaledger/twin-standards/commit/838389c1daf62ed42397d5758d267c3d1a37fa4d))
516
+ * alg usage ([#19](https://github.com/iotaledger/twin-standards/issues/19)) ([3946fb2](https://github.com/iotaledger/twin-standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
517
+ * eslint migration to flat config ([648c1a1](https://github.com/iotaledger/twin-standards/commit/648c1a1e69d99b6b0cf69358ec6bdeecdbe3a5ea))
518
+ * export additional schemas ([4201127](https://github.com/iotaledger/twin-standards/commit/42011276a0b9110b75557c555f859db4d7382aca))
519
+ * normalise type outputs ([0b3aed7](https://github.com/iotaledger/twin-standards/commit/0b3aed7df0802cd609423bbd7fda6bde601d3ceb))
520
+ * separate DID VC v1 and v2 properties ([935cf0a](https://github.com/iotaledger/twin-standards/commit/935cf0a9cdee28c6f2d5480f1f2de126c838caf5))
521
+ * separate DID VP v1 and v2 properties ([335a3c2](https://github.com/iotaledger/twin-standards/commit/335a3c2543ca5dbaae785568617ea85c0a8269ad))
522
+ * update framework core ([58c0c3d](https://github.com/iotaledger/twin-standards/commit/58c0c3dd6cea0e4c2393dc0e3e1eb33a6d06f617))
523
+ * update to latest JSON schema spec ([7a23930](https://github.com/iotaledger/twin-standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
524
+ * update ts-to-schema generation ([ba4e76d](https://github.com/iotaledger/twin-standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
525
+ * update ts-to-schema generation ([0905daa](https://github.com/iotaledger/twin-standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
526
+ * use shared store mechanism ([#11](https://github.com/iotaledger/twin-standards/issues/11)) ([96fa237](https://github.com/iotaledger/twin-standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
499
527
 
500
- ## [0.0.2-next.16](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.15...standards-w3c-did-v0.0.2-next.16) (2025-10-09)
528
+ ## [0.0.2-next.16](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.15...standards-w3c-did-v0.0.2-next.16) (2025-10-09)
501
529
 
502
530
 
503
531
  ### Miscellaneous Chores
504
532
 
505
533
  * **standards-w3c-did:** Synchronize repo versions
506
534
 
507
- ## [0.0.2-next.15](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.14...standards-w3c-did-v0.0.2-next.15) (2025-10-09)
535
+ ## [0.0.2-next.15](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.14...standards-w3c-did-v0.0.2-next.15) (2025-10-09)
508
536
 
509
537
 
510
538
  ### Features
511
539
 
512
- * add validate-locales ([838389c](https://github.com/twinfoundation/standards/commit/838389c1daf62ed42397d5758d267c3d1a37fa4d))
540
+ * add validate-locales ([838389c](https://github.com/iotaledger/twin-standards/commit/838389c1daf62ed42397d5758d267c3d1a37fa4d))
513
541
 
514
- ## [0.0.2-next.14](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.13...standards-w3c-did-v0.0.2-next.14) (2025-10-02)
542
+ ## [0.0.2-next.14](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.13...standards-w3c-did-v0.0.2-next.14) (2025-10-02)
515
543
 
516
544
 
517
545
  ### Miscellaneous Chores
518
546
 
519
547
  * **standards-w3c-did:** Synchronize repo versions
520
548
 
521
- ## [0.0.2-next.13](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.12...standards-w3c-did-v0.0.2-next.13) (2025-09-22)
549
+ ## [0.0.2-next.13](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.12...standards-w3c-did-v0.0.2-next.13) (2025-09-22)
522
550
 
523
551
 
524
552
  ### Miscellaneous Chores
525
553
 
526
554
  * **standards-w3c-did:** Synchronize repo versions
527
555
 
528
- ## [0.0.2-next.12](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.11...standards-w3c-did-v0.0.2-next.12) (2025-09-16)
556
+ ## [0.0.2-next.12](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.11...standards-w3c-did-v0.0.2-next.12) (2025-09-16)
529
557
 
530
558
 
531
559
  ### Miscellaneous Chores
532
560
 
533
561
  * **standards-w3c-did:** Synchronize repo versions
534
562
 
535
- ## [0.0.2-next.11](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.10...standards-w3c-did-v0.0.2-next.11) (2025-09-16)
563
+ ## [0.0.2-next.11](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.10...standards-w3c-did-v0.0.2-next.11) (2025-09-16)
536
564
 
537
565
 
538
566
  ### Miscellaneous Chores
539
567
 
540
568
  * **standards-w3c-did:** Synchronize repo versions
541
569
 
542
- ## [0.0.2-next.10](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.9...standards-w3c-did-v0.0.2-next.10) (2025-09-16)
570
+ ## [0.0.2-next.10](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.9...standards-w3c-did-v0.0.2-next.10) (2025-09-16)
543
571
 
544
572
 
545
573
  ### Miscellaneous Chores
546
574
 
547
575
  * **standards-w3c-did:** Synchronize repo versions
548
576
 
549
- ## [0.0.2-next.9](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.8...standards-w3c-did-v0.0.2-next.9) (2025-09-15)
577
+ ## [0.0.2-next.9](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.8...standards-w3c-did-v0.0.2-next.9) (2025-09-15)
550
578
 
551
579
 
552
580
  ### Miscellaneous Chores
553
581
 
554
582
  * **standards-w3c-did:** Synchronize repo versions
555
583
 
556
- ## [0.0.2-next.8](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.7...standards-w3c-did-v0.0.2-next.8) (2025-09-15)
584
+ ## [0.0.2-next.8](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.7...standards-w3c-did-v0.0.2-next.8) (2025-09-15)
557
585
 
558
586
 
559
587
  ### Miscellaneous Chores
560
588
 
561
589
  * **standards-w3c-did:** Synchronize repo versions
562
590
 
563
- ## [0.0.2-next.7](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.6...standards-w3c-did-v0.0.2-next.7) (2025-09-15)
591
+ ## [0.0.2-next.7](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.6...standards-w3c-did-v0.0.2-next.7) (2025-09-15)
564
592
 
565
593
 
566
594
  ### Miscellaneous Chores
567
595
 
568
596
  * **standards-w3c-did:** Synchronize repo versions
569
597
 
570
- ## [0.0.2-next.6](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.5...standards-w3c-did-v0.0.2-next.6) (2025-09-12)
598
+ ## [0.0.2-next.6](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.5...standards-w3c-did-v0.0.2-next.6) (2025-09-12)
571
599
 
572
600
 
573
601
  ### Miscellaneous Chores
574
602
 
575
603
  * **standards-w3c-did:** Synchronize repo versions
576
604
 
577
- ## [0.0.2-next.5](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.4...standards-w3c-did-v0.0.2-next.5) (2025-09-12)
605
+ ## [0.0.2-next.5](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.4...standards-w3c-did-v0.0.2-next.5) (2025-09-12)
578
606
 
579
607
 
580
608
  ### Features
581
609
 
582
- * separate DID VP v1 and v2 properties ([335a3c2](https://github.com/twinfoundation/standards/commit/335a3c2543ca5dbaae785568617ea85c0a8269ad))
610
+ * separate DID VP v1 and v2 properties ([335a3c2](https://github.com/iotaledger/twin-standards/commit/335a3c2543ca5dbaae785568617ea85c0a8269ad))
583
611
 
584
- ## [0.0.2-next.4](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.3...standards-w3c-did-v0.0.2-next.4) (2025-09-12)
612
+ ## [0.0.2-next.4](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.3...standards-w3c-did-v0.0.2-next.4) (2025-09-12)
585
613
 
586
614
 
587
615
  ### Features
588
616
 
589
- * separate DID VC v1 and v2 properties ([935cf0a](https://github.com/twinfoundation/standards/commit/935cf0a9cdee28c6f2d5480f1f2de126c838caf5))
617
+ * separate DID VC v1 and v2 properties ([935cf0a](https://github.com/iotaledger/twin-standards/commit/935cf0a9cdee28c6f2d5480f1f2de126c838caf5))
590
618
 
591
- ## [0.0.2-next.3](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.2...standards-w3c-did-v0.0.2-next.3) (2025-08-29)
619
+ ## [0.0.2-next.3](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.2...standards-w3c-did-v0.0.2-next.3) (2025-08-29)
592
620
 
593
621
 
594
622
  ### Features
595
623
 
596
- * eslint migration to flat config ([648c1a1](https://github.com/twinfoundation/standards/commit/648c1a1e69d99b6b0cf69358ec6bdeecdbe3a5ea))
624
+ * eslint migration to flat config ([648c1a1](https://github.com/iotaledger/twin-standards/commit/648c1a1e69d99b6b0cf69358ec6bdeecdbe3a5ea))
597
625
 
598
- ## [0.0.2-next.2](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.1...standards-w3c-did-v0.0.2-next.2) (2025-08-19)
626
+ ## [0.0.2-next.2](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.1...standards-w3c-did-v0.0.2-next.2) (2025-08-19)
599
627
 
600
628
 
601
629
  ### Features
602
630
 
603
- * update framework core ([58c0c3d](https://github.com/twinfoundation/standards/commit/58c0c3dd6cea0e4c2393dc0e3e1eb33a6d06f617))
631
+ * update framework core ([58c0c3d](https://github.com/iotaledger/twin-standards/commit/58c0c3dd6cea0e4c2393dc0e3e1eb33a6d06f617))
604
632
 
605
- ## [0.0.2-next.1](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.2-next.0...standards-w3c-did-v0.0.2-next.1) (2025-07-14)
633
+ ## [0.0.2-next.1](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.2-next.0...standards-w3c-did-v0.0.2-next.1) (2025-07-14)
606
634
 
607
635
 
608
636
  ### Features
609
637
 
610
- * Add additional properties to the verifiable credential data model ([#8](https://github.com/twinfoundation/standards/issues/8)) ([4b7af9c](https://github.com/twinfoundation/standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
611
- * alg usage ([#19](https://github.com/twinfoundation/standards/issues/19)) ([3946fb2](https://github.com/twinfoundation/standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
612
- * export additional schemas ([4201127](https://github.com/twinfoundation/standards/commit/42011276a0b9110b75557c555f859db4d7382aca))
613
- * normalise type outputs ([0b3aed7](https://github.com/twinfoundation/standards/commit/0b3aed7df0802cd609423bbd7fda6bde601d3ceb))
614
- * update to latest JSON schema spec ([7a23930](https://github.com/twinfoundation/standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
615
- * update ts-to-schema generation ([ba4e76d](https://github.com/twinfoundation/standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
616
- * update ts-to-schema generation ([0905daa](https://github.com/twinfoundation/standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
617
- * use shared store mechanism ([#11](https://github.com/twinfoundation/standards/issues/11)) ([96fa237](https://github.com/twinfoundation/standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
638
+ * Add additional properties to the verifiable credential data model ([#8](https://github.com/iotaledger/twin-standards/issues/8)) ([4b7af9c](https://github.com/iotaledger/twin-standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
639
+ * alg usage ([#19](https://github.com/iotaledger/twin-standards/issues/19)) ([3946fb2](https://github.com/iotaledger/twin-standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
640
+ * export additional schemas ([4201127](https://github.com/iotaledger/twin-standards/commit/42011276a0b9110b75557c555f859db4d7382aca))
641
+ * normalise type outputs ([0b3aed7](https://github.com/iotaledger/twin-standards/commit/0b3aed7df0802cd609423bbd7fda6bde601d3ceb))
642
+ * update to latest JSON schema spec ([7a23930](https://github.com/iotaledger/twin-standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
643
+ * update ts-to-schema generation ([ba4e76d](https://github.com/iotaledger/twin-standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
644
+ * update ts-to-schema generation ([0905daa](https://github.com/iotaledger/twin-standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
645
+ * use shared store mechanism ([#11](https://github.com/iotaledger/twin-standards/issues/11)) ([96fa237](https://github.com/iotaledger/twin-standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
618
646
 
619
647
  ## 0.0.1 (2025-07-03)
620
648
 
621
649
 
622
650
  ### Features
623
651
 
624
- * release to production ([2ae4125](https://github.com/twinfoundation/standards/commit/2ae4125f305d4714b50036eb8a0bd47e4100a7be))
652
+ * release to production ([2ae4125](https://github.com/iotaledger/twin-standards/commit/2ae4125f305d4714b50036eb8a0bd47e4100a7be))
625
653
 
626
- ## [0.0.1-next.49](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.48...standards-w3c-did-v0.0.1-next.49) (2025-06-18)
654
+ ## [0.0.1-next.49](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.48...standards-w3c-did-v0.0.1-next.49) (2025-06-18)
627
655
 
628
656
 
629
657
  ### Miscellaneous Chores
630
658
 
631
659
  * **standards-w3c-did:** Synchronize repo versions
632
660
 
633
- ## [0.0.1-next.48](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.47...standards-w3c-did-v0.0.1-next.48) (2025-06-11)
661
+ ## [0.0.1-next.48](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.47...standards-w3c-did-v0.0.1-next.48) (2025-06-11)
634
662
 
635
663
 
636
664
  ### Features
637
665
 
638
- * update to latest JSON schema spec ([7a23930](https://github.com/twinfoundation/standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
666
+ * update to latest JSON schema spec ([7a23930](https://github.com/iotaledger/twin-standards/commit/7a2393032d7f48bfb20d3a484f981fb6dd83a92c))
639
667
 
640
- ## [0.0.1-next.47](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.46...standards-w3c-did-v0.0.1-next.47) (2025-06-05)
668
+ ## [0.0.1-next.47](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.46...standards-w3c-did-v0.0.1-next.47) (2025-06-05)
641
669
 
642
670
 
643
671
  ### Features
644
672
 
645
- * update ts-to-schema generation ([ba4e76d](https://github.com/twinfoundation/standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
673
+ * update ts-to-schema generation ([ba4e76d](https://github.com/iotaledger/twin-standards/commit/ba4e76d677556a1817092f8079d4cce67dee94bc))
646
674
 
647
- ## [0.0.1-next.46](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.45...standards-w3c-did-v0.0.1-next.46) (2025-06-03)
675
+ ## [0.0.1-next.46](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.45...standards-w3c-did-v0.0.1-next.46) (2025-06-03)
648
676
 
649
677
 
650
678
  ### Features
651
679
 
652
- * update ts-to-schema generation ([0905daa](https://github.com/twinfoundation/standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
680
+ * update ts-to-schema generation ([0905daa](https://github.com/iotaledger/twin-standards/commit/0905daa4a344ed35fc37b7f12fcf9ce9d34e4bd6))
653
681
 
654
- ## [0.0.1-next.45](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.44...standards-w3c-did-v0.0.1-next.45) (2025-06-02)
682
+ ## [0.0.1-next.45](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.44...standards-w3c-did-v0.0.1-next.45) (2025-06-02)
655
683
 
656
684
 
657
685
  ### Miscellaneous Chores
658
686
 
659
687
  * **standards-w3c-did:** Synchronize repo versions
660
688
 
661
- ## [0.0.1-next.44](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.43...standards-w3c-did-v0.0.1-next.44) (2025-05-28)
689
+ ## [0.0.1-next.44](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.43...standards-w3c-did-v0.0.1-next.44) (2025-05-28)
662
690
 
663
691
 
664
692
  ### Miscellaneous Chores
665
693
 
666
694
  * **standards-w3c-did:** Synchronize repo versions
667
695
 
668
- ## [0.0.1-next.43](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.42...standards-w3c-did-v0.0.1-next.43) (2025-05-20)
696
+ ## [0.0.1-next.43](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.42...standards-w3c-did-v0.0.1-next.43) (2025-05-20)
669
697
 
670
698
 
671
699
  ### Miscellaneous Chores
672
700
 
673
701
  * **standards-w3c-did:** Synchronize repo versions
674
702
 
675
- ## [0.0.1-next.42](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.41...standards-w3c-did-v0.0.1-next.42) (2025-05-09)
703
+ ## [0.0.1-next.42](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.41...standards-w3c-did-v0.0.1-next.42) (2025-05-09)
676
704
 
677
705
 
678
706
  ### Miscellaneous Chores
679
707
 
680
708
  * **standards-w3c-did:** Synchronize repo versions
681
709
 
682
- ## [0.0.1-next.41](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.40...standards-w3c-did-v0.0.1-next.41) (2025-05-08)
710
+ ## [0.0.1-next.41](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.40...standards-w3c-did-v0.0.1-next.41) (2025-05-08)
683
711
 
684
712
 
685
713
  ### Miscellaneous Chores
686
714
 
687
715
  * **standards-w3c-did:** Synchronize repo versions
688
716
 
689
- ## [0.0.1-next.40](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.39...standards-w3c-did-v0.0.1-next.40) (2025-05-08)
717
+ ## [0.0.1-next.40](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.39...standards-w3c-did-v0.0.1-next.40) (2025-05-08)
690
718
 
691
719
 
692
720
  ### Miscellaneous Chores
693
721
 
694
722
  * **standards-w3c-did:** Synchronize repo versions
695
723
 
696
- ## [0.0.1-next.39](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.38...standards-w3c-did-v0.0.1-next.39) (2025-05-07)
724
+ ## [0.0.1-next.39](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.38...standards-w3c-did-v0.0.1-next.39) (2025-05-07)
697
725
 
698
726
 
699
727
  ### Features
700
728
 
701
- * alg usage ([#19](https://github.com/twinfoundation/standards/issues/19)) ([3946fb2](https://github.com/twinfoundation/standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
729
+ * alg usage ([#19](https://github.com/iotaledger/twin-standards/issues/19)) ([3946fb2](https://github.com/iotaledger/twin-standards/commit/3946fb2e8bd9a486ad186765d1d09361fa75786b))
702
730
 
703
- ## [0.0.1-next.38](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.37...standards-w3c-did-v0.0.1-next.38) (2025-05-07)
731
+ ## [0.0.1-next.38](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.37...standards-w3c-did-v0.0.1-next.38) (2025-05-07)
704
732
 
705
733
 
706
734
  ### Miscellaneous Chores
707
735
 
708
736
  * **standards-w3c-did:** Synchronize repo versions
709
737
 
710
- ## [0.0.1-next.37](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.36...standards-w3c-did-v0.0.1-next.37) (2025-05-06)
738
+ ## [0.0.1-next.37](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.36...standards-w3c-did-v0.0.1-next.37) (2025-05-06)
711
739
 
712
740
 
713
741
  ### Miscellaneous Chores
714
742
 
715
743
  * **standards-w3c-did:** Synchronize repo versions
716
744
 
717
- ## [0.0.1-next.36](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.35...standards-w3c-did-v0.0.1-next.36) (2025-04-30)
745
+ ## [0.0.1-next.36](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.35...standards-w3c-did-v0.0.1-next.36) (2025-04-30)
718
746
 
719
747
 
720
748
  ### Miscellaneous Chores
721
749
 
722
750
  * **standards-w3c-did:** Synchronize repo versions
723
751
 
724
- ## [0.0.1-next.35](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.34...standards-w3c-did-v0.0.1-next.35) (2025-04-17)
752
+ ## [0.0.1-next.35](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.34...standards-w3c-did-v0.0.1-next.35) (2025-04-17)
725
753
 
726
754
 
727
755
  ### Features
728
756
 
729
- * use shared store mechanism ([#11](https://github.com/twinfoundation/standards/issues/11)) ([96fa237](https://github.com/twinfoundation/standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
757
+ * use shared store mechanism ([#11](https://github.com/iotaledger/twin-standards/issues/11)) ([96fa237](https://github.com/iotaledger/twin-standards/commit/96fa23735f69c1fc7e3d0019b527634fa0a042d9))
730
758
 
731
- ## [0.0.1-next.34](https://github.com/twinfoundation/standards/compare/standards-w3c-did-v0.0.1-next.33...standards-w3c-did-v0.0.1-next.34) (2025-03-28)
759
+ ## [0.0.1-next.34](https://github.com/iotaledger/twin-standards/compare/standards-w3c-did-v0.0.1-next.33...standards-w3c-did-v0.0.1-next.34) (2025-03-28)
732
760
 
733
761
 
734
762
  ### Features
735
763
 
736
- * Add additional properties to the verifiable credential data model ([#8](https://github.com/twinfoundation/standards/issues/8)) ([4b7af9c](https://github.com/twinfoundation/standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
764
+ * Add additional properties to the verifiable credential data model ([#8](https://github.com/iotaledger/twin-standards/issues/8)) ([4b7af9c](https://github.com/iotaledger/twin-standards/commit/4b7af9cf892e071eb348f30737c035c0f94591b5))
737
765
 
738
766
  ## v0.0.1-next.33
739
767
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@twin.org/standards-w3c-did",
3
- "version": "0.0.3-next.60",
3
+ "version": "0.0.3-next.62",
4
4
  "description": "Data models for the W3C DID Core specification.",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "git+https://github.com/twinfoundation/standards.git",
7
+ "url": "git+https://github.com/iotaledger/standards.git",
8
8
  "directory": "packages/standards-w3c-did"
9
9
  },
10
10
  "author": "martyn.janes@iota.org",
@@ -47,7 +47,7 @@
47
47
  "specification"
48
48
  ],
49
49
  "bugs": {
50
- "url": "git+https://github.com/twinfoundation/standards/issues"
50
+ "url": "git+https://github.com/iotaledger/standards/issues"
51
51
  },
52
52
  "homepage": "https://twindev.org"
53
53
  }