@twin.org/standards-w3c-did 0.0.3-next.53 → 0.0.3-next.55

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.
Files changed (59) hide show
  1. package/dist/es/models/IDataIntegrityProof.js.map +1 -1
  2. package/dist/es/models/IDidDocument.js.map +1 -1
  3. package/dist/es/models/IDidService.js +0 -2
  4. package/dist/es/models/IDidService.js.map +1 -1
  5. package/dist/es/models/IDidVerifiableCredentialCommon.js.map +1 -1
  6. package/dist/es/models/IDidVerifiableCredentialV1.js.map +1 -1
  7. package/dist/es/models/IDidVerifiableCredentialV2.js.map +1 -1
  8. package/dist/es/models/IDidVerifiablePresentationCommon.js.map +1 -1
  9. package/dist/es/models/IDidVerifiablePresentationV1.js.map +1 -1
  10. package/dist/es/models/IDidVerifiablePresentationV2.js.map +1 -1
  11. package/dist/es/models/IJsonWebSignature2020Proof.js.map +1 -1
  12. package/dist/es/models/IMultikey.js.map +1 -1
  13. package/dist/es/schemas/DidDocument.json +17 -11
  14. package/dist/es/schemas/DidVerifiableCredential.json +1 -0
  15. package/dist/es/schemas/DidVerifiablePresentation.json +1 -0
  16. package/dist/types/models/IDataIntegrityProof.d.ts +4 -3
  17. package/dist/types/models/IDidDocument.d.ts +4 -3
  18. package/dist/types/models/IDidService.d.ts +3 -2
  19. package/dist/types/models/IDidVerifiableCredentialCommon.d.ts +7 -6
  20. package/dist/types/models/IDidVerifiableCredentialV1.d.ts +2 -1
  21. package/dist/types/models/IDidVerifiableCredentialV2.d.ts +2 -1
  22. package/dist/types/models/IDidVerifiablePresentationCommon.d.ts +3 -2
  23. package/dist/types/models/IDidVerifiablePresentationV1.d.ts +2 -1
  24. package/dist/types/models/IDidVerifiablePresentationV2.d.ts +2 -1
  25. package/dist/types/models/IJsonWebSignature2020Proof.d.ts +2 -1
  26. package/dist/types/models/IMultikey.d.ts +2 -1
  27. package/docs/changelog.md +22 -0
  28. package/docs/reference/classes/DataIntegrityProofAsyncSignerVerifier.md +4 -4
  29. package/docs/reference/classes/DataIntegrityProofSignerVerifier.md +4 -4
  30. package/docs/reference/classes/DidDataTypes.md +1 -1
  31. package/docs/reference/classes/JsonWebSignature2020AsyncSignerVerifier.md +4 -4
  32. package/docs/reference/classes/JsonWebSignature2020SignerVerifier.md +4 -4
  33. package/docs/reference/classes/MultikeyHelper.md +4 -4
  34. package/docs/reference/classes/ProofHelper.md +7 -7
  35. package/docs/reference/classes/VerifiableCredentialHelper.md +7 -7
  36. package/docs/reference/interfaces/IDataIntegrityProof.md +16 -16
  37. package/docs/reference/interfaces/IDidCredentialSchema.md +2 -2
  38. package/docs/reference/interfaces/IDidCredentialStatus.md +2 -2
  39. package/docs/reference/interfaces/IDidDocument.md +14 -14
  40. package/docs/reference/interfaces/IDidDocumentVerificationMethod.md +6 -6
  41. package/docs/reference/interfaces/IDidLabel.md +3 -3
  42. package/docs/reference/interfaces/IDidPresentationVerification.md +2 -2
  43. package/docs/reference/interfaces/IDidService.md +5 -5
  44. package/docs/reference/interfaces/IDidVerifiableCredentialCommon.md +16 -16
  45. package/docs/reference/interfaces/IDidVerifiableCredentialV1.md +20 -20
  46. package/docs/reference/interfaces/IDidVerifiableCredentialV2.md +20 -20
  47. package/docs/reference/interfaces/IDidVerifiablePresentationCommon.md +6 -6
  48. package/docs/reference/interfaces/IDidVerifiablePresentationV1.md +9 -9
  49. package/docs/reference/interfaces/IDidVerifiablePresentationV2.md +9 -9
  50. package/docs/reference/interfaces/IJsonWebSignature2020Proof.md +7 -7
  51. package/docs/reference/interfaces/IMultikey.md +9 -9
  52. package/docs/reference/interfaces/IProofSignerVerifier.md +3 -3
  53. package/docs/reference/interfaces/IProofSignerVerifierAsync.md +3 -3
  54. package/docs/reference/variables/DidContexts.md +17 -17
  55. package/docs/reference/variables/DidCryptoSuites.md +2 -2
  56. package/docs/reference/variables/DidTypes.md +7 -7
  57. package/docs/reference/variables/JwsAlgorithms.md +1 -1
  58. package/docs/reference/variables/ProofTypes.md +2 -2
  59. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IDataIntegrityProof.js","sourceRoot":"","sources":["../../../src/models/IDataIntegrityProof.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { DidCryptoSuites } from \"./didCryptoSuites.js\";\nimport type { ProofTypes } from \"./proofTypes.js\";\n\n/**\n * Interface describing a did proof.\n * https://www.w3.org/TR/vc-data-integrity/\n */\nexport interface IDataIntegrityProof {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\"?:\n\t\t| typeof DidContexts.ContextDataIntegrity\n\t\t| [typeof DidContexts.ContextDataIntegrity, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype: typeof ProofTypes.DataIntegrityProof;\n\n\t/**\n\t * An identifier for the cryptographic suite that can be used to verify the proof.\n\t */\n\tcryptosuite: DidCryptoSuites | string;\n\n\t/**\n\t * The id of the proof.\n\t */\n\tid?: string;\n\n\t/**\n\t * The reason the proof was created.\n\t */\n\tproofPurpose: string;\n\n\t/**\n\t * Contains the base-encoded binary data necessary to verify the\n\t * digital proof using the verificationMethod specified.\n\t */\n\tproofValue?: string;\n\n\t/**\n\t * The verification method of the proof.\n\t */\n\tverificationMethod?: string;\n\n\t/**\n\t * The iso date of when the proof was created.\n\t */\n\tcreated?: string;\n\n\t/**\n\t * The iso date of when the proof expires.\n\t */\n\texpires?: string;\n\n\t/**\n\t * One or more security domains in which the proof is meant to be used.\n\t */\n\tdomain?: string | string[];\n\n\t/**\n\t * Provided to mitigate replay attacks on domains.\n\t */\n\tchallenge?: string | string[];\n\n\t/**\n\t * Identifies another data integrity proof that MUST verify before\n\t * the current proof is processed\n\t */\n\tpreviousProof?: string;\n\n\t/**\n\t * Use of this field is to increase privacy by decreasing linkability\n\t * that is the result of deterministically generated signatures.\n\t */\n\tnonce?: string;\n}\n"]}
1
+ {"version":3,"file":"IDataIntegrityProof.js","sourceRoot":"","sources":["../../../src/models/IDataIntegrityProof.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray, SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { DidCryptoSuites } from \"./didCryptoSuites.js\";\nimport type { ProofTypes } from \"./proofTypes.js\";\n\n/**\n * Interface describing a did proof.\n * https://www.w3.org/TR/vc-data-integrity/\n */\nexport interface IDataIntegrityProof {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\"?:\n\t\t| typeof DidContexts.ContextDataIntegrity\n\t\t| SingleOccurrenceArray<\n\t\t\t\tIJsonLdContextDefinitionElement,\n\t\t\t\ttypeof DidContexts.ContextDataIntegrity\n\t\t >;\n\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype: typeof ProofTypes.DataIntegrityProof;\n\n\t/**\n\t * An identifier for the cryptographic suite that can be used to verify the proof.\n\t */\n\tcryptosuite: DidCryptoSuites | string;\n\n\t/**\n\t * The id of the proof.\n\t */\n\tid?: string;\n\n\t/**\n\t * The reason the proof was created.\n\t */\n\tproofPurpose: string;\n\n\t/**\n\t * Contains the base-encoded binary data necessary to verify the\n\t * digital proof using the verificationMethod specified.\n\t */\n\tproofValue?: string;\n\n\t/**\n\t * The verification method of the proof.\n\t */\n\tverificationMethod?: string;\n\n\t/**\n\t * The iso date of when the proof was created.\n\t */\n\tcreated?: string;\n\n\t/**\n\t * The iso date of when the proof expires.\n\t */\n\texpires?: string;\n\n\t/**\n\t * One or more security domains in which the proof is meant to be used.\n\t */\n\tdomain?: ObjectOrArray<string>;\n\n\t/**\n\t * Provided to mitigate replay attacks on domains.\n\t */\n\tchallenge?: ObjectOrArray<string>;\n\n\t/**\n\t * Identifies another data integrity proof that MUST verify before\n\t * the current proof is processed\n\t */\n\tpreviousProof?: string;\n\n\t/**\n\t * Use of this field is to increase privacy by decreasing linkability\n\t * that is the result of deterministically generated signatures.\n\t */\n\tnonce?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidDocument.js","sourceRoot":"","sources":["../../../src/models/IDidDocument.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidDocumentVerificationMethod } from \"./IDidDocumentVerificationMethod.js\";\nimport type { IDidService } from \"./IDidService.js\";\n\n/**\n * Interface describing a DID Document.\n * Spec https://www.w3.org/TR/did-core/#did-document-properties.\n */\nexport interface IDidDocument {\n\t/**\n\t * The context for the document.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.Context\n\t\t| [typeof DidContexts.Context, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * The id for the document.\n\t */\n\tid: string;\n\n\t/**\n\t * Aliases for the document.\n\t */\n\talsoKnownAs?: string | string[];\n\n\t/**\n\t * The controller for the document.\n\t */\n\tcontroller?: string | string[];\n\n\t/**\n\t * The verification methods.\n\t */\n\tverificationMethod?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The authentication methods.\n\t */\n\tauthentication?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The assertion methods.\n\t */\n\tassertionMethod?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The key agreements.\n\t */\n\tkeyAgreement?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The capability invocations.\n\t */\n\tcapabilityInvocation?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The capability delegations.\n\t */\n\tcapabilityDelegation?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The services.\n\t */\n\tservice?: IDidService[];\n}\n"]}
1
+ {"version":3,"file":"IDidDocument.js","sourceRoot":"","sources":["../../../src/models/IDidDocument.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray, SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidDocumentVerificationMethod } from \"./IDidDocumentVerificationMethod.js\";\nimport type { IDidService } from \"./IDidService.js\";\n\n/**\n * Interface describing a DID Document.\n * Spec https://www.w3.org/TR/did-core/#did-document-properties.\n */\nexport interface IDidDocument {\n\t/**\n\t * The context for the document.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.Context\n\t\t| SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.Context>;\n\n\t/**\n\t * The id for the document.\n\t */\n\tid: string;\n\n\t/**\n\t * Aliases for the document.\n\t */\n\talsoKnownAs?: ObjectOrArray<string>;\n\n\t/**\n\t * The controller for the document.\n\t */\n\tcontroller?: ObjectOrArray<string>;\n\n\t/**\n\t * The verification methods.\n\t */\n\tverificationMethod?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The authentication methods.\n\t */\n\tauthentication?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The assertion methods.\n\t */\n\tassertionMethod?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The key agreements.\n\t */\n\tkeyAgreement?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The capability invocations.\n\t */\n\tcapabilityInvocation?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The capability delegations.\n\t */\n\tcapabilityDelegation?: (string | IDidDocumentVerificationMethod)[];\n\n\t/**\n\t * The services.\n\t */\n\tservice?: IDidService[];\n}\n"]}
@@ -1,4 +1,2 @@
1
- // Copyright 2024 IOTA Stiftung.
2
- // SPDX-License-Identifier: Apache-2.0.
3
1
  export {};
4
2
  //# sourceMappingURL=IDidService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IDidService.js","sourceRoot":"","sources":["../../../src/models/IDidService.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\n\n/**\n * Interface describing a did document service.\n */\nexport interface IDidService {\n\t/**\n\t * The id of the service.\n\t */\n\tid: string;\n\n\t/**\n\t * The type of the service.\n\t */\n\ttype: string | string[];\n\n\t/**\n\t * The endpoint for the service.\n\t */\n\tserviceEndpoint: string | string[];\n}\n"]}
1
+ {"version":3,"file":"IDidService.js","sourceRoot":"","sources":["../../../src/models/IDidService.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\n\n/**\n * Interface describing a did document service.\n */\nexport interface IDidService {\n\t/**\n\t * The id of the service.\n\t */\n\tid: string;\n\n\t/**\n\t * The type of the service.\n\t */\n\ttype: ObjectOrArray<string>;\n\n\t/**\n\t * The endpoint for the service.\n\t */\n\tserviceEndpoint: ObjectOrArray<string>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidVerifiableCredentialCommon.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiableCredentialCommon.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IDidCredentialSchema } from \"./IDidCredentialSchema.js\";\nimport type { IDidCredentialStatus } from \"./IDidCredentialStatus.js\";\nimport type { IDidLabel } from \"./IDidLabel.js\";\nimport type { IProof } from \"./IProof.js\";\n\n/**\n * Interface describing a verifiable credential.\n * https://www.w3.org/TR/vc-data-model-2.0\n */\nexport interface IDidVerifiableCredentialCommon {\n\t/**\n\t * The identifier for the verifiable credential.\n\t */\n\tid?: string;\n\n\t/**\n\t * The types of the data stored in the verifiable credential.\n\t */\n\ttype: string | string[];\n\n\t/**\n\t * The data for the verifiable credential.\n\t */\n\tcredentialSubject?: IJsonLdNodeObject | IJsonLdNodeObject[];\n\n\t/**\n\t * Used to discover information about the current status of the\n\t * verifiable credential, such as whether it is suspended or revoked.\n\t */\n\tcredentialStatus?: IDidCredentialStatus | IDidCredentialStatus[];\n\n\t/**\n\t * Annotate type definitions or lock them to specific versions of the vocabulary.\n\t */\n\tcredentialSchema?: IDidCredentialSchema | IDidCredentialSchema[];\n\n\t/**\n\t * The issuing identity.\n\t */\n\tissuer?: string | { id: string; name?: string | IDidLabel[]; description?: string | IDidLabel[] };\n\n\t/**\n\t * The name of the credential.\n\t */\n\tname?: string | IDidLabel[];\n\n\t/**\n\t * The description of the credential.\n\t */\n\tdescription?: string | IDidLabel[];\n\n\t/**\n\t * Evidence associated with the Credential.\n\t */\n\tevidence?: IJsonLdNodeObject | IJsonLdNodeObject[];\n\n\t/**\n\t * Proofs that the verifiable credential is valid.\n\t * Optional if a different proof method is used, such as JWT.\n\t */\n\tproof?: IProof | IProof[];\n}\n"]}
1
+ {"version":3,"file":"IDidVerifiableCredentialCommon.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiableCredentialCommon.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IDidCredentialSchema } from \"./IDidCredentialSchema.js\";\nimport type { IDidCredentialStatus } from \"./IDidCredentialStatus.js\";\nimport type { IDidLabel } from \"./IDidLabel.js\";\nimport type { IProof } from \"./IProof.js\";\n\n/**\n * Interface describing a verifiable credential.\n * https://www.w3.org/TR/vc-data-model-2.0\n */\nexport interface IDidVerifiableCredentialCommon {\n\t/**\n\t * The identifier for the verifiable credential.\n\t */\n\tid?: string;\n\n\t/**\n\t * The types of the data stored in the verifiable credential.\n\t */\n\ttype: ObjectOrArray<string>;\n\n\t/**\n\t * The data for the verifiable credential.\n\t */\n\tcredentialSubject?: ObjectOrArray<IJsonLdNodeObject>;\n\n\t/**\n\t * Used to discover information about the current status of the\n\t * verifiable credential, such as whether it is suspended or revoked.\n\t */\n\tcredentialStatus?: ObjectOrArray<IDidCredentialStatus>;\n\n\t/**\n\t * Annotate type definitions or lock them to specific versions of the vocabulary.\n\t */\n\tcredentialSchema?: ObjectOrArray<IDidCredentialSchema>;\n\n\t/**\n\t * The issuing identity.\n\t */\n\tissuer?: string | { id: string; name?: string | IDidLabel[]; description?: string | IDidLabel[] };\n\n\t/**\n\t * The name of the credential.\n\t */\n\tname?: string | IDidLabel[];\n\n\t/**\n\t * The description of the credential.\n\t */\n\tdescription?: string | IDidLabel[];\n\n\t/**\n\t * Evidence associated with the Credential.\n\t */\n\tevidence?: ObjectOrArray<IJsonLdNodeObject>;\n\n\t/**\n\t * Proofs that the verifiable credential is valid.\n\t * Optional if a different proof method is used, such as JWT.\n\t */\n\tproof?: ObjectOrArray<IProof>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidVerifiableCredentialV1.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiableCredentialV1.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialCommon } from \"./IDidVerifiableCredentialCommon.js\";\n\n/**\n * Interface describing a verifiable credential.\n * https://www.w3.org/TR/vc-data-model-1.1\n */\nexport interface IDidVerifiableCredentialV1 extends IDidVerifiableCredentialCommon {\n\t/**\n\t * The context for the verifiable credential.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv1\n\t\t| [typeof DidContexts.ContextVCv1, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * The date the verifiable credential was issued, depending on version validFrom might be set instead.\n\t */\n\tissuanceDate?: string;\n\n\t/**\n\t * The date the verifiable credential expires, depending on version validUntil might be set instead.\n\t */\n\texpirationDate?: string;\n}\n"]}
1
+ {"version":3,"file":"IDidVerifiableCredentialV1.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiableCredentialV1.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialCommon } from \"./IDidVerifiableCredentialCommon.js\";\n\n/**\n * Interface describing a verifiable credential.\n * https://www.w3.org/TR/vc-data-model-1.1\n */\nexport interface IDidVerifiableCredentialV1 extends IDidVerifiableCredentialCommon {\n\t/**\n\t * The context for the verifiable credential.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv1\n\t\t| SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv1>;\n\n\t/**\n\t * The date the verifiable credential was issued, depending on version validFrom might be set instead.\n\t */\n\tissuanceDate?: string;\n\n\t/**\n\t * The date the verifiable credential expires, depending on version validUntil might be set instead.\n\t */\n\texpirationDate?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidVerifiableCredentialV2.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiableCredentialV2.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialCommon } from \"./IDidVerifiableCredentialCommon.js\";\n\n/**\n * Interface describing a verifiable credential.\n * https://www.w3.org/TR/vc-data-model-2.0\n */\nexport interface IDidVerifiableCredentialV2 extends IDidVerifiableCredentialCommon {\n\t/**\n\t * The context for the verifiable credential.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv2\n\t\t| [typeof DidContexts.ContextVCv2, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * The date the verifiable credential is valid from.\n\t */\n\tvalidFrom?: string;\n\n\t/**\n\t * The date the verifiable credential is valid until.\n\t */\n\tvalidUntil?: string;\n}\n"]}
1
+ {"version":3,"file":"IDidVerifiableCredentialV2.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiableCredentialV2.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialCommon } from \"./IDidVerifiableCredentialCommon.js\";\n\n/**\n * Interface describing a verifiable credential.\n * https://www.w3.org/TR/vc-data-model-2.0\n */\nexport interface IDidVerifiableCredentialV2 extends IDidVerifiableCredentialCommon {\n\t/**\n\t * The context for the verifiable credential.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv2\n\t\t| SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv2>;\n\n\t/**\n\t * The date the verifiable credential is valid from.\n\t */\n\tvalidFrom?: string;\n\n\t/**\n\t * The date the verifiable credential is valid until.\n\t */\n\tvalidUntil?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidVerifiablePresentationCommon.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiablePresentationCommon.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IProof } from \"./IProof.js\";\n\n/**\n * Interface describing a verifiable presentation.\n */\nexport interface IDidVerifiablePresentationCommon {\n\t/**\n\t * Provide a unique identifier for the presentation.\n\t */\n\tid?: string;\n\n\t/**\n\t * The types of the data stored in the verifiable credential.\n\t */\n\ttype: string | string[];\n\n\t/**\n\t * The entity generating the presentation.\n\t */\n\tholder?: string;\n\n\t/**\n\t * Proofs that the verifiable presentation is valid.\n\t * Optional if a different proof method is used, such as JWT.\n\t */\n\tproof?: IProof | IProof[];\n}\n"]}
1
+ {"version":3,"file":"IDidVerifiablePresentationCommon.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiablePresentationCommon.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IProof } from \"./IProof.js\";\n\n/**\n * Interface describing a verifiable presentation.\n */\nexport interface IDidVerifiablePresentationCommon {\n\t/**\n\t * Provide a unique identifier for the presentation.\n\t */\n\tid?: string;\n\n\t/**\n\t * The types of the data stored in the verifiable credential.\n\t */\n\ttype: ObjectOrArray<string>;\n\n\t/**\n\t * The entity generating the presentation.\n\t */\n\tholder?: string;\n\n\t/**\n\t * Proofs that the verifiable presentation is valid.\n\t * Optional if a different proof method is used, such as JWT.\n\t */\n\tproof?: ObjectOrArray<IProof>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidVerifiablePresentationV1.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiablePresentationV1.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialV1 } from \"./IDidVerifiableCredentialV1.js\";\nimport type { IDidVerifiablePresentationCommon } from \"./IDidVerifiablePresentationCommon.js\";\n\n/**\n * Interface describing a verifiable presentation.\n */\nexport interface IDidVerifiablePresentationV1 extends IDidVerifiablePresentationCommon {\n\t/**\n\t * The context for the verifiable presentation.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv1\n\t\t| [typeof DidContexts.ContextVCv1, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * The data for the verifiable credentials.\n\t */\n\tverifiableCredential?: (string | IDidVerifiableCredentialV1)[];\n}\n"]}
1
+ {"version":3,"file":"IDidVerifiablePresentationV1.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiablePresentationV1.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialV1 } from \"./IDidVerifiableCredentialV1.js\";\nimport type { IDidVerifiablePresentationCommon } from \"./IDidVerifiablePresentationCommon.js\";\n\n/**\n * Interface describing a verifiable presentation.\n */\nexport interface IDidVerifiablePresentationV1 extends IDidVerifiablePresentationCommon {\n\t/**\n\t * The context for the verifiable presentation.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv1\n\t\t| SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv1>;\n\n\t/**\n\t * The data for the verifiable credentials.\n\t */\n\tverifiableCredential?: (string | IDidVerifiableCredentialV1)[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDidVerifiablePresentationV2.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiablePresentationV2.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialV2 } from \"./IDidVerifiableCredentialV2.js\";\nimport type { IDidVerifiablePresentationCommon } from \"./IDidVerifiablePresentationCommon.js\";\n\n/**\n * Interface describing a verifiable presentation.\n */\nexport interface IDidVerifiablePresentationV2 extends IDidVerifiablePresentationCommon {\n\t/**\n\t * The context for the verifiable presentation.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv2\n\t\t| [typeof DidContexts.ContextVCv2, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * The data for the verifiable credentials.\n\t */\n\tverifiableCredential?: (string | IDidVerifiableCredentialV2)[];\n}\n"]}
1
+ {"version":3,"file":"IDidVerifiablePresentationV2.js","sourceRoot":"","sources":["../../../src/models/IDidVerifiablePresentationV2.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { IDidVerifiableCredentialV2 } from \"./IDidVerifiableCredentialV2.js\";\nimport type { IDidVerifiablePresentationCommon } from \"./IDidVerifiablePresentationCommon.js\";\n\n/**\n * Interface describing a verifiable presentation.\n */\nexport interface IDidVerifiablePresentationV2 extends IDidVerifiablePresentationCommon {\n\t/**\n\t * The context for the verifiable presentation.\n\t */\n\t\"@context\":\n\t\t| typeof DidContexts.ContextVCv2\n\t\t| SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv2>;\n\n\t/**\n\t * The data for the verifiable credentials.\n\t */\n\tverifiableCredential?: (string | IDidVerifiableCredentialV2)[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IJsonWebSignature2020Proof.js","sourceRoot":"","sources":["../../../src/models/IJsonWebSignature2020Proof.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { ProofTypes } from \"./proofTypes.js\";\n\n/**\n * Interface describing a did proof in JSON Web Signature 2020 Format.\n * https://www.w3.org/TR/vc-jws-2020/\n */\nexport interface IJsonWebSignature2020Proof {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\"?:\n\t\t| typeof DidContexts.ContextSecurityJws2020\n\t\t| [typeof DidContexts.ContextSecurityJws2020, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype: typeof ProofTypes.JsonWebSignature2020;\n\n\t/**\n\t * The reason the proof was created.\n\t */\n\tproofPurpose: string;\n\n\t/**\n\t * The verification method of the proof.\n\t */\n\tverificationMethod?: string;\n\n\t/**\n\t * The iso date of when the proof was created.\n\t */\n\tcreated?: string;\n\n\t/**\n\t * The JSON Web Signature.\n\t */\n\tjws?: string;\n}\n"]}
1
+ {"version":3,"file":"IJsonWebSignature2020Proof.js","sourceRoot":"","sources":["../../../src/models/IJsonWebSignature2020Proof.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { ProofTypes } from \"./proofTypes.js\";\n\n/**\n * Interface describing a did proof in JSON Web Signature 2020 Format.\n * https://www.w3.org/TR/vc-jws-2020/\n */\nexport interface IJsonWebSignature2020Proof {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\"?:\n\t\t| typeof DidContexts.ContextSecurityJws2020\n\t\t| SingleOccurrenceArray<\n\t\t\t\tIJsonLdContextDefinitionElement,\n\t\t\t\ttypeof DidContexts.ContextSecurityJws2020\n\t\t >;\n\n\t/**\n\t * JSON-LD Type.\n\t */\n\ttype: typeof ProofTypes.JsonWebSignature2020;\n\n\t/**\n\t * The reason the proof was created.\n\t */\n\tproofPurpose: string;\n\n\t/**\n\t * The verification method of the proof.\n\t */\n\tverificationMethod?: string;\n\n\t/**\n\t * The iso date of when the proof was created.\n\t */\n\tcreated?: string;\n\n\t/**\n\t * The JSON Web Signature.\n\t */\n\tjws?: string;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IMultikey.js","sourceRoot":"","sources":["../../../src/models/IMultikey.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { DidTypes } from \"./didTypes.js\";\n\n/**\n * Interface describing a Multikey.\n * https://www.w3.org/TR/cid-1.0/\n */\nexport interface IMultikey {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\"?:\n\t\t| typeof DidContexts.ContextControllerIdentifiers\n\t\t| typeof DidContexts.ContextSecurityMultikey\n\t\t| [typeof DidContexts.ContextControllerIdentifiers, ...IJsonLdContextDefinitionElement[]]\n\t\t| [typeof DidContexts.ContextSecurityMultikey, ...IJsonLdContextDefinitionElement[]];\n\n\t/**\n\t * The id of the entry.\n\t */\n\tid?: string;\n\n\t/**\n\t * The type of the entry.\n\t */\n\ttype: typeof DidTypes.Multikey;\n\n\t/**\n\t * The controller for the entry.\n\t */\n\tcontroller?: string;\n\n\t/**\n\t * The public key for the entry.\n\t */\n\tpublicKeyMultibase: string;\n\n\t/**\n\t * The secret key for the entry.\n\t */\n\tsecretKeyMultibase?: string;\n\n\t/**\n\t * The date the entry expires.\n\t */\n\texpires?: string;\n\n\t/**\n\t * The date the entry was revoked.\n\t */\n\trevoked?: string;\n}\n"]}
1
+ {"version":3,"file":"IMultikey.js","sourceRoot":"","sources":["../../../src/models/IMultikey.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { SingleOccurrenceArray } from \"@twin.org/core\";\nimport type { IJsonLdContextDefinitionElement } from \"@twin.org/data-json-ld\";\nimport type { DidContexts } from \"./didContexts.js\";\nimport type { DidTypes } from \"./didTypes.js\";\n\n/**\n * Interface describing a Multikey.\n * https://www.w3.org/TR/cid-1.0/\n */\nexport interface IMultikey {\n\t/**\n\t * JSON-LD Context.\n\t */\n\t\"@context\"?:\n\t\t| typeof DidContexts.ContextControllerIdentifiers\n\t\t| typeof DidContexts.ContextSecurityMultikey\n\t\t| SingleOccurrenceArray<\n\t\t\t\tIJsonLdContextDefinitionElement,\n\t\t\t\ttypeof DidContexts.ContextControllerIdentifiers\n\t\t >\n\t\t| SingleOccurrenceArray<\n\t\t\t\tIJsonLdContextDefinitionElement,\n\t\t\t\ttypeof DidContexts.ContextSecurityMultikey\n\t\t >;\n\n\t/**\n\t * The id of the entry.\n\t */\n\tid?: string;\n\n\t/**\n\t * The type of the entry.\n\t */\n\ttype: typeof DidTypes.Multikey;\n\n\t/**\n\t * The controller for the entry.\n\t */\n\tcontroller?: string;\n\n\t/**\n\t * The public key for the entry.\n\t */\n\tpublicKeyMultibase: string;\n\n\t/**\n\t * The secret key for the entry.\n\t */\n\tsecretKeyMultibase?: string;\n\n\t/**\n\t * The date the entry expires.\n\t */\n\texpires?: string;\n\n\t/**\n\t * The date the entry was revoked.\n\t */\n\trevoked?: string;\n}\n"]}
@@ -1,27 +1,33 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schema.twindev.org/w3c-did/DidDocument",
4
- "description": "Interface describing a DID Document. Spec https://www.w3.org/TR/did-core/#did-document-properties.",
4
+ "title": "DidDocument",
5
+ "description": "Interface describing a DID Document.\nSpec https://www.w3.org/TR/did-core/#did-document-properties.",
5
6
  "type": "object",
6
7
  "properties": {
7
8
  "@context": {
8
9
  "anyOf": [
9
10
  {
10
- "type": "string",
11
11
  "const": "https://www.w3.org/ns/did/v1"
12
12
  },
13
13
  {
14
14
  "type": "array",
15
- "minItems": 1,
16
- "prefixItems": [
17
- {
18
- "type": "string",
19
- "const": "https://www.w3.org/ns/did/v1"
20
- }
21
- ],
22
15
  "items": {
23
- "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
24
- }
16
+ "anyOf": [
17
+ {
18
+ "$ref": "https://schema.twindev.org/json-ld/JsonLdContextDefinitionElement"
19
+ },
20
+ {
21
+ "const": "https://www.w3.org/ns/did/v1"
22
+ }
23
+ ]
24
+ },
25
+ "contains": {
26
+ "const": "https://www.w3.org/ns/did/v1"
27
+ },
28
+ "minContains": 1,
29
+ "maxContains": 1,
30
+ "minItems": 1
25
31
  }
26
32
  ],
27
33
  "description": "The context for the document."
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schema.twindev.org/w3c-did/DidVerifiableCredential",
4
+ "title": "DidVerifiableCredential",
4
5
  "description": "Interface describing a verifiable credential.",
5
6
  "anyOf": [
6
7
  {
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schema.twindev.org/w3c-did/DidVerifiablePresentation",
4
+ "title": "DidVerifiablePresentation",
4
5
  "description": "Interface describing a verifiable presentation.",
5
6
  "anyOf": [
6
7
  {
@@ -1,3 +1,4 @@
1
+ import type { ObjectOrArray, SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { DidCryptoSuites } from "./didCryptoSuites.js";
@@ -10,7 +11,7 @@ export interface IDataIntegrityProof {
10
11
  /**
11
12
  * JSON-LD Context.
12
13
  */
13
- "@context"?: typeof DidContexts.ContextDataIntegrity | [typeof DidContexts.ContextDataIntegrity, ...IJsonLdContextDefinitionElement[]];
14
+ "@context"?: typeof DidContexts.ContextDataIntegrity | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextDataIntegrity>;
14
15
  /**
15
16
  * JSON-LD Type.
16
17
  */
@@ -47,11 +48,11 @@ export interface IDataIntegrityProof {
47
48
  /**
48
49
  * One or more security domains in which the proof is meant to be used.
49
50
  */
50
- domain?: string | string[];
51
+ domain?: ObjectOrArray<string>;
51
52
  /**
52
53
  * Provided to mitigate replay attacks on domains.
53
54
  */
54
- challenge?: string | string[];
55
+ challenge?: ObjectOrArray<string>;
55
56
  /**
56
57
  * Identifies another data integrity proof that MUST verify before
57
58
  * the current proof is processed
@@ -1,3 +1,4 @@
1
+ import type { ObjectOrArray, SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { IDidDocumentVerificationMethod } from "./IDidDocumentVerificationMethod.js";
@@ -10,7 +11,7 @@ export interface IDidDocument {
10
11
  /**
11
12
  * The context for the document.
12
13
  */
13
- "@context": typeof DidContexts.Context | [typeof DidContexts.Context, ...IJsonLdContextDefinitionElement[]];
14
+ "@context": typeof DidContexts.Context | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.Context>;
14
15
  /**
15
16
  * The id for the document.
16
17
  */
@@ -18,11 +19,11 @@ export interface IDidDocument {
18
19
  /**
19
20
  * Aliases for the document.
20
21
  */
21
- alsoKnownAs?: string | string[];
22
+ alsoKnownAs?: ObjectOrArray<string>;
22
23
  /**
23
24
  * The controller for the document.
24
25
  */
25
- controller?: string | string[];
26
+ controller?: ObjectOrArray<string>;
26
27
  /**
27
28
  * The verification methods.
28
29
  */
@@ -1,3 +1,4 @@
1
+ import type { ObjectOrArray } from "@twin.org/core";
1
2
  /**
2
3
  * Interface describing a did document service.
3
4
  */
@@ -9,9 +10,9 @@ export interface IDidService {
9
10
  /**
10
11
  * The type of the service.
11
12
  */
12
- type: string | string[];
13
+ type: ObjectOrArray<string>;
13
14
  /**
14
15
  * The endpoint for the service.
15
16
  */
16
- serviceEndpoint: string | string[];
17
+ serviceEndpoint: ObjectOrArray<string>;
17
18
  }
@@ -1,3 +1,4 @@
1
+ import type { ObjectOrArray } from "@twin.org/core";
1
2
  import type { IJsonLdNodeObject } from "@twin.org/data-json-ld";
2
3
  import type { IDidCredentialSchema } from "./IDidCredentialSchema.js";
3
4
  import type { IDidCredentialStatus } from "./IDidCredentialStatus.js";
@@ -15,20 +16,20 @@ export interface IDidVerifiableCredentialCommon {
15
16
  /**
16
17
  * The types of the data stored in the verifiable credential.
17
18
  */
18
- type: string | string[];
19
+ type: ObjectOrArray<string>;
19
20
  /**
20
21
  * The data for the verifiable credential.
21
22
  */
22
- credentialSubject?: IJsonLdNodeObject | IJsonLdNodeObject[];
23
+ credentialSubject?: ObjectOrArray<IJsonLdNodeObject>;
23
24
  /**
24
25
  * Used to discover information about the current status of the
25
26
  * verifiable credential, such as whether it is suspended or revoked.
26
27
  */
27
- credentialStatus?: IDidCredentialStatus | IDidCredentialStatus[];
28
+ credentialStatus?: ObjectOrArray<IDidCredentialStatus>;
28
29
  /**
29
30
  * Annotate type definitions or lock them to specific versions of the vocabulary.
30
31
  */
31
- credentialSchema?: IDidCredentialSchema | IDidCredentialSchema[];
32
+ credentialSchema?: ObjectOrArray<IDidCredentialSchema>;
32
33
  /**
33
34
  * The issuing identity.
34
35
  */
@@ -48,10 +49,10 @@ export interface IDidVerifiableCredentialCommon {
48
49
  /**
49
50
  * Evidence associated with the Credential.
50
51
  */
51
- evidence?: IJsonLdNodeObject | IJsonLdNodeObject[];
52
+ evidence?: ObjectOrArray<IJsonLdNodeObject>;
52
53
  /**
53
54
  * Proofs that the verifiable credential is valid.
54
55
  * Optional if a different proof method is used, such as JWT.
55
56
  */
56
- proof?: IProof | IProof[];
57
+ proof?: ObjectOrArray<IProof>;
57
58
  }
@@ -1,3 +1,4 @@
1
+ import type { SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { IDidVerifiableCredentialCommon } from "./IDidVerifiableCredentialCommon.js";
@@ -9,7 +10,7 @@ export interface IDidVerifiableCredentialV1 extends IDidVerifiableCredentialComm
9
10
  /**
10
11
  * The context for the verifiable credential.
11
12
  */
12
- "@context": typeof DidContexts.ContextVCv1 | [typeof DidContexts.ContextVCv1, ...IJsonLdContextDefinitionElement[]];
13
+ "@context": typeof DidContexts.ContextVCv1 | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv1>;
13
14
  /**
14
15
  * The date the verifiable credential was issued, depending on version validFrom might be set instead.
15
16
  */
@@ -1,3 +1,4 @@
1
+ import type { SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { IDidVerifiableCredentialCommon } from "./IDidVerifiableCredentialCommon.js";
@@ -9,7 +10,7 @@ export interface IDidVerifiableCredentialV2 extends IDidVerifiableCredentialComm
9
10
  /**
10
11
  * The context for the verifiable credential.
11
12
  */
12
- "@context": typeof DidContexts.ContextVCv2 | [typeof DidContexts.ContextVCv2, ...IJsonLdContextDefinitionElement[]];
13
+ "@context": typeof DidContexts.ContextVCv2 | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv2>;
13
14
  /**
14
15
  * The date the verifiable credential is valid from.
15
16
  */
@@ -1,3 +1,4 @@
1
+ import type { ObjectOrArray } from "@twin.org/core";
1
2
  import type { IProof } from "./IProof.js";
2
3
  /**
3
4
  * Interface describing a verifiable presentation.
@@ -10,7 +11,7 @@ export interface IDidVerifiablePresentationCommon {
10
11
  /**
11
12
  * The types of the data stored in the verifiable credential.
12
13
  */
13
- type: string | string[];
14
+ type: ObjectOrArray<string>;
14
15
  /**
15
16
  * The entity generating the presentation.
16
17
  */
@@ -19,5 +20,5 @@ export interface IDidVerifiablePresentationCommon {
19
20
  * Proofs that the verifiable presentation is valid.
20
21
  * Optional if a different proof method is used, such as JWT.
21
22
  */
22
- proof?: IProof | IProof[];
23
+ proof?: ObjectOrArray<IProof>;
23
24
  }
@@ -1,3 +1,4 @@
1
+ import type { SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { IDidVerifiableCredentialV1 } from "./IDidVerifiableCredentialV1.js";
@@ -9,7 +10,7 @@ export interface IDidVerifiablePresentationV1 extends IDidVerifiablePresentation
9
10
  /**
10
11
  * The context for the verifiable presentation.
11
12
  */
12
- "@context": typeof DidContexts.ContextVCv1 | [typeof DidContexts.ContextVCv1, ...IJsonLdContextDefinitionElement[]];
13
+ "@context": typeof DidContexts.ContextVCv1 | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv1>;
13
14
  /**
14
15
  * The data for the verifiable credentials.
15
16
  */
@@ -1,3 +1,4 @@
1
+ import type { SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { IDidVerifiableCredentialV2 } from "./IDidVerifiableCredentialV2.js";
@@ -9,7 +10,7 @@ export interface IDidVerifiablePresentationV2 extends IDidVerifiablePresentation
9
10
  /**
10
11
  * The context for the verifiable presentation.
11
12
  */
12
- "@context": typeof DidContexts.ContextVCv2 | [typeof DidContexts.ContextVCv2, ...IJsonLdContextDefinitionElement[]];
13
+ "@context": typeof DidContexts.ContextVCv2 | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextVCv2>;
13
14
  /**
14
15
  * The data for the verifiable credentials.
15
16
  */
@@ -1,3 +1,4 @@
1
+ import type { SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { ProofTypes } from "./proofTypes.js";
@@ -9,7 +10,7 @@ export interface IJsonWebSignature2020Proof {
9
10
  /**
10
11
  * JSON-LD Context.
11
12
  */
12
- "@context"?: typeof DidContexts.ContextSecurityJws2020 | [typeof DidContexts.ContextSecurityJws2020, ...IJsonLdContextDefinitionElement[]];
13
+ "@context"?: typeof DidContexts.ContextSecurityJws2020 | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextSecurityJws2020>;
13
14
  /**
14
15
  * JSON-LD Type.
15
16
  */
@@ -1,3 +1,4 @@
1
+ import type { SingleOccurrenceArray } from "@twin.org/core";
1
2
  import type { IJsonLdContextDefinitionElement } from "@twin.org/data-json-ld";
2
3
  import type { DidContexts } from "./didContexts.js";
3
4
  import type { DidTypes } from "./didTypes.js";
@@ -9,7 +10,7 @@ export interface IMultikey {
9
10
  /**
10
11
  * JSON-LD Context.
11
12
  */
12
- "@context"?: typeof DidContexts.ContextControllerIdentifiers | typeof DidContexts.ContextSecurityMultikey | [typeof DidContexts.ContextControllerIdentifiers, ...IJsonLdContextDefinitionElement[]] | [typeof DidContexts.ContextSecurityMultikey, ...IJsonLdContextDefinitionElement[]];
13
+ "@context"?: typeof DidContexts.ContextControllerIdentifiers | typeof DidContexts.ContextSecurityMultikey | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextControllerIdentifiers> | SingleOccurrenceArray<IJsonLdContextDefinitionElement, typeof DidContexts.ContextSecurityMultikey>;
13
14
  /**
14
15
  * The id of the entry.
15
16
  */
package/docs/changelog.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## [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)
4
+
5
+
6
+ ### Features
7
+
8
+ * update to new ts-ts-schema and generic constructs ([4dff991](https://github.com/twinfoundation/standards/commit/4dff991fb70de4320668641ed94abf8e9b06acad))
9
+ * 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))
10
+
11
+
12
+ ### Dependencies
13
+
14
+ * The following workspace dependencies were updated
15
+ * devDependencies
16
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.54 to 0.0.3-next.55
17
+
18
+ ## [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)
19
+
20
+
21
+ ### Miscellaneous Chores
22
+
23
+ * **standards-w3c-did:** Synchronize repo versions
24
+
3
25
  ## [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)
4
26
 
5
27
 
@@ -22,7 +22,7 @@ Create a new instance of DataIntegrityProofAsyncSignerVerifier.
22
22
 
23
23
  ## Properties
24
24
 
25
- ### CLASS\_NAME
25
+ ### CLASS\_NAME {#class_name}
26
26
 
27
27
  > `readonly` `static` **CLASS\_NAME**: `string`
28
28
 
@@ -30,7 +30,7 @@ Runtime name for the class.
30
30
 
31
31
  ## Methods
32
32
 
33
- ### createProofWithSigner()
33
+ ### createProofWithSigner() {#createproofwithsigner}
34
34
 
35
35
  > **createProofWithSigner**(`unsecuredDocument`, `unsignedProof`, `signCallback`): `Promise`\<[`IProof`](../type-aliases/IProof.md)\>
36
36
 
@@ -69,7 +69,7 @@ The created proof.
69
69
 
70
70
  ***
71
71
 
72
- ### verifyProof()
72
+ ### verifyProof() {#verifyproof}
73
73
 
74
74
  > **verifyProof**(`securedDocument`, `signedProof`, `verifyKey`): `Promise`\<`boolean`\>
75
75
 
@@ -107,7 +107,7 @@ True if the credential was verified.
107
107
 
108
108
  ***
109
109
 
110
- ### createHash()
110
+ ### createHash() {#createhash}
111
111
 
112
112
  > **createHash**(`unsecuredDocument`, `unsignedProof`): `Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>
113
113
 
@@ -19,7 +19,7 @@ https://www.w3.org/TR/vc-di-eddsa/#eddsa-jcs-2022
19
19
 
20
20
  ## Properties
21
21
 
22
- ### CLASS\_NAME
22
+ ### CLASS\_NAME {#class_name}
23
23
 
24
24
  > `readonly` `static` **CLASS\_NAME**: `string`
25
25
 
@@ -27,7 +27,7 @@ Runtime name for the class.
27
27
 
28
28
  ## Methods
29
29
 
30
- ### createProof()
30
+ ### createProof() {#createproof}
31
31
 
32
32
  > **createProof**(`unsecuredDocument`, `unsignedProof`, `signKey`): `Promise`\<[`IProof`](../type-aliases/IProof.md)\>
33
33
 
@@ -65,7 +65,7 @@ The created proof.
65
65
 
66
66
  ***
67
67
 
68
- ### verifyProof()
68
+ ### verifyProof() {#verifyproof}
69
69
 
70
70
  > **verifyProof**(`securedDocument`, `signedProof`, `verifyKey`): `Promise`\<`boolean`\>
71
71
 
@@ -103,7 +103,7 @@ True if the credential was verified.
103
103
 
104
104
  ***
105
105
 
106
- ### createHash()
106
+ ### createHash() {#createhash}
107
107
 
108
108
  > **createHash**(`unsecuredDocument`, `unsignedProof`): `Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>
109
109
 
@@ -14,7 +14,7 @@ Data Type registration for DID.
14
14
 
15
15
  ## Methods
16
16
 
17
- ### registerTypes()
17
+ ### registerTypes() {#registertypes}
18
18
 
19
19
  > `static` **registerTypes**(): `void`
20
20
 
@@ -21,7 +21,7 @@ Create a new instance of JsonWebSignature2020AsyncSignerVerifier.
21
21
 
22
22
  ## Properties
23
23
 
24
- ### CLASS\_NAME
24
+ ### CLASS\_NAME {#class_name}
25
25
 
26
26
  > `readonly` `static` **CLASS\_NAME**: `string`
27
27
 
@@ -29,7 +29,7 @@ Runtime name for the class.
29
29
 
30
30
  ## Methods
31
31
 
32
- ### createProofWithSigner()
32
+ ### createProofWithSigner() {#createproofwithsigner}
33
33
 
34
34
  > **createProofWithSigner**(`unsecuredDocument`, `unsignedProof`, `signCallback`): `Promise`\<[`IJsonWebSignature2020Proof`](../interfaces/IJsonWebSignature2020Proof.md)\>
35
35
 
@@ -69,7 +69,7 @@ The created proof.
69
69
 
70
70
  ***
71
71
 
72
- ### verifyProof()
72
+ ### verifyProof() {#verifyproof}
73
73
 
74
74
  > **verifyProof**(`securedDocument`, `signedProof`, `verifyKey`): `Promise`\<`boolean`\>
75
75
 
@@ -107,7 +107,7 @@ True if the credential was verified.
107
107
 
108
108
  ***
109
109
 
110
- ### createHash()
110
+ ### createHash() {#createhash}
111
111
 
112
112
  > **createHash**(`unsecuredDocument`, `unsignedProof`): `Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>
113
113
 
@@ -18,7 +18,7 @@ Helper methods for creating and verifying proofs.
18
18
 
19
19
  ## Properties
20
20
 
21
- ### CLASS\_NAME
21
+ ### CLASS\_NAME {#class_name}
22
22
 
23
23
  > `readonly` `static` **CLASS\_NAME**: `string`
24
24
 
@@ -26,7 +26,7 @@ Runtime name for the class.
26
26
 
27
27
  ## Methods
28
28
 
29
- ### createProof()
29
+ ### createProof() {#createproof}
30
30
 
31
31
  > **createProof**(`unsecuredDocument`, `unsignedProof`, `signKey`): `Promise`\<[`IJsonWebSignature2020Proof`](../interfaces/IJsonWebSignature2020Proof.md)\>
32
32
 
@@ -64,7 +64,7 @@ The created proof.
64
64
 
65
65
  ***
66
66
 
67
- ### verifyProof()
67
+ ### verifyProof() {#verifyproof}
68
68
 
69
69
  > **verifyProof**(`securedDocument`, `signedProof`, `verifyKey`): `Promise`\<`boolean`\>
70
70
 
@@ -102,7 +102,7 @@ True if the credential was verified.
102
102
 
103
103
  ***
104
104
 
105
- ### createHash()
105
+ ### createHash() {#createhash}
106
106
 
107
107
  > **createHash**(`unsecuredDocument`, `unsignedProof`): `Promise`\<`Uint8Array`\<`ArrayBufferLike`\>\>
108
108