diff --git a/.github/actions/publish/publish-wasm/action.yml b/.github/actions/publish/publish-wasm/action.yml index cfaedea939..6bb1171fbd 100644 --- a/.github/actions/publish/publish-wasm/action.yml +++ b/.github/actions/publish/publish-wasm/action.yml @@ -24,7 +24,7 @@ runs: registry-url: 'https://registry.npmjs.org' - name: Download bindings/wasm artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: ${{ inputs.input-artifact-name }} path: bindings/wasm diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index ba3b7ef0b1..c92432e36f 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -198,7 +198,7 @@ jobs: working-directory: bindings/wasm - name: Download bindings/wasm artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: identity-wasm-bindings-build path: bindings/wasm @@ -238,7 +238,7 @@ jobs: working-directory: bindings/wasm - name: Download bindings/wasm artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: identity-wasm-bindings-build path: bindings/wasm @@ -286,7 +286,7 @@ jobs: working-directory: bindings/wasm - name: Download bindings/wasm artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: identity-wasm-bindings-build path: bindings/wasm diff --git a/.github/workflows/shared-build-wasm.yml b/.github/workflows/shared-build-wasm.yml index 8f39769dfd..263e1da66c 100644 --- a/.github/workflows/shared-build-wasm.yml +++ b/.github/workflows/shared-build-wasm.yml @@ -82,12 +82,13 @@ jobs: os: ${{matrix.os}} - name: Upload artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: ${{ inputs.output-artifact-name }} path: | bindings/wasm/node bindings/wasm/web bindings/wasm/examples/dist + bindings/wasm/docs if-no-files-found: error retention-days: 1 diff --git a/.github/workflows/upload-docs.yml b/.github/workflows/upload-docs.yml new file mode 100644 index 0000000000..5ce1429767 --- /dev/null +++ b/.github/workflows/upload-docs.yml @@ -0,0 +1,51 @@ +name: Build and upload API docs + +on: + release: + types: [published] + workflow_dispatch: + inputs: + version: + description: 'Version to publish docs under (e.g. `v1.2.3-dev.1`)' + required: true + +permissions: + actions: 'write' + +jobs: + build-wasm: + # owner/repository of workflow has to be static, see https://github.community/t/env-variables-in-uses/17466 + uses: iotaledger/identity.rs/.github/workflows/shared-build-wasm.yml@main + with: + run-unit-tests: false + ref: ${{ inputs.ref }} + output-artifact-name: identity-docs + + upload-docs: + runs-on: ubuntu-latest + needs: build-wasm + steps: + - uses: actions/download-artifact@v4 + with: + name: identity-docs + - name: Get release version + id: get_release_version + run: | + if [ "${{ github.event_name }}" = "release" ]; then + INPUT_VERSION="${{ github.ref }}" + else + INPUT_VERSION="${{ github.event.inputs.version }}" + fi + VERSION=$(echo $INPUT_VERSION | sed -e 's/.*v\([0-9]*\.[0-9]*\).*/\1/') + echo VERSION=$VERSION >> $GITHUB_OUTPUT + - name: Compress generated docs + run: | + tar czvf wasm.tar.gz docs/* + + - name: Upload docs to AWS S3 + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_IOTA_WIKI }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_IOTA_WIKI }} + AWS_DEFAULT_REGION: "eu-central-1" + run: | + aws s3 cp wasm.tar.gz s3://files.iota.org/iota-wiki/iota-identity/${{ steps.get_release_version.outputs.VERSION }}/ --acl public-read diff --git a/.gitignore b/.gitignore index 5a33dbab25..52f081d501 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ index.html *.hodl.* !/bindings/wasm/static/index.html + +docs diff --git a/bindings/wasm/build/docs.js b/bindings/wasm/build/docs.js deleted file mode 100644 index b496ccd7d0..0000000000 --- a/bindings/wasm/build/docs.js +++ /dev/null @@ -1,15 +0,0 @@ -const fs = require("fs"); -const path = require("path"); -const jsdoc2md = require("jsdoc-to-markdown"); - -const importFile = path.join(__dirname, "../node/identity_wasm.js"); -const exportFile = path.join(__dirname, "../docs/api-reference.md"); - -const docsRoot = path.join(__dirname, "../docs"); -const docsData = jsdoc2md.renderSync({ files: importFile }); - -if (!fs.existsSync(docsRoot)) { - fs.mkdirSync(docsRoot); -} - -fs.writeFileSync(exportFile, docsData); diff --git a/bindings/wasm/docs/api-reference.md b/bindings/wasm/docs/api-reference.md deleted file mode 100644 index 25fdf6ba04..0000000000 --- a/bindings/wasm/docs/api-reference.md +++ /dev/null @@ -1,7865 +0,0 @@ -## Classes - -
A method-agnostic Decentralized Identifier (DID).
-A method-agnostic DID Document.
-Note: All methods that involve reading from this class may potentially raise an error -if the object is being concurrently modified.
-A custom verification method data format.
-did:jwk
DID.
A method agnostic DID Url.
-A cryptographically verified decoded token from a JWS.
-Contains the decoded headers and the raw claims.
-A cryptographically verified and decoded Credential.
-Note that having an instance of this type only means the JWS it was constructed from was verified. -It does not imply anything about a potentially present proof property on the credential itself.
-A cryptographically verified and decoded presentation.
-Note that having an instance of this type only means the JWS it was constructed from was verified. -It does not imply anything about a potentially present proof property on the presentation itself.
-Represents an elements constructing a disclosure. -Object properties and array elements disclosures are supported.
-See: https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-07.html#name-disclosures
-DID Configuration Resource which contains Domain Linkage Credentials.
-It can be placed in an origin's .well-known
directory to prove linkage between the origin and a DID.
-See: https://identity.foundation/.well-known/resources/did-configuration/#did-configuration-resource
Note:
-A span of time.
-An implementor of IJwsVerifier
that can handle the
-EcDSA
algorithm.
An implementor of IJwsVerifier
that can handle the
-EdDSA
algorithm.
A DID conforming to the IOTA DID method specification.
-A DID Document adhering to the IOTA DID method specification.
-Note: All methods that involve reading from this class may potentially raise an error -if the object is being concurrently modified.
-Additional attributes related to an IOTA DID Document.
-An extension interface that provides helper functions for publication -and resolution of DID documents in Alias Outputs.
-A JSON Proof Token (JPT).
-Options to declare validation criteria for Jpt.
-Utility functions for validating JPT credentials.
-Options to declare validation criteria for a Jpt presentation.
-Utility functions for verifying JPT presentations.
-The result of a key generation in JwkStorage
.
Options to be set in the JWT claims of a verifiable presentation.
-A wrapper around a JSON Web Signature (JWS).
-A wrapper around a JSON Web Token (JWK).
-Options to declare validation criteria when validating credentials.
-A type for decoding and validating Credential.
-A validator for a Domain Linkage Configuration and Credentials.
-Options to declare validation criteria when validating presentation.
-Options to declare validation criteria when validating credentials.
-Claims set for key binding JWT.
-Supported verification method data formats.
-Unique identifier of a VerificationMethod.
-NOTE:
-This class does not have a JSON representation,
-use the methods pack
and unpack
instead.
Supported verification method types.
-Supported verification method types.
-Represents a cryptographic proof that can be used to validate verifiable credentials and -presentations.
-This representation does not inherently implement any standard; instead, it
-can be utilized to implement standards or user-defined proofs. The presence of the
-type
field is necessary to accommodate different types of cryptographic proofs.
Note that this proof is not related to JWT and can be used in combination or as an alternative -to it.
-Convenience type for resolving DID documents from different DID methods.
-Also provides methods for resolving DID Documents associated with -verifiable Credentials and Presentations.
-The resolver will only be able to resolve DID documents for methods it has been configured for in the constructor.
-A compressed bitmap for managing credential revocation.
-Information used to determine the current status of a Credential.
-Representation of an SD-JWT of the format
-<Issuer-signed JWT>~<Disclosure 1>~<Disclosure 2>~...~<Disclosure N>~<optional KB-JWT>
.
A type for decoding and validating Credential.
-Substitutes digests in an SD-JWT object by their corresponding plaintext values provided by disclosures.
-Transforms a JSON object into an SD-JWT object by substituting selected values -with their corresponding disclosure digests.
-Note: digests are created using the sha-256 algorithm.
-Used to construct a JwpPresentedBuilder and handle the selective disclosure of attributes
-A DID Document Service used to enable trusted interactions associated with a DID subject.
-StatusList2021 data structure as described in W3C's VC status list 2021.
-A parsed StatusList2021Credential.
-Builder type to construct valid StatusList2021Credential istances.
-StatusList2021Entry implementation.
-A type wrapping a JwkStorage
and KeyIdStorage
that should always be used together when
-working with storage backed DID documents.
A DID Document Verification Method.
-Controls validation behaviour when checking whether or not a credential has been revoked by its
-credentialStatus
.
Validate the status if supported, reject any unsupported
-credentialStatus
types.
Only RevocationBitmap2022
is currently supported.
This is the default.
-Validate the status if supported, skip any unsupported
-credentialStatus
types.
Skip all status checks.
-Declares how credential subjects must relate to the presentation holder.
-See also the Subject-Holder Relationship section of the specification.
-The holder must always match the subject on all credentials, regardless of their nonTransferable
property.
-This variant is the default.
The holder must match the subject only for credentials where the nonTransferable
property is true
.
The holder is not required to have any kind of relationship to any credential subject.
-Purpose of a StatusList2021.
-Declares when validation should return if an error occurs.
-Return all errors that occur during validation.
-Return after the first error occurs.
-string
Encode the given bytes in url-safe base64.
-Uint8Array
Decode the given url-safe base64-encoded slice into its raw bytes.
-Verify a JWS signature secured with the EdDSA
algorithm and curve Ed25519
.
This function is useful when one is composing a IJwsVerifier
that delegates
-EdDSA
verification with curve Ed25519
to this function.
This function does not check whether alg = EdDSA
in the protected header. Callers are expected to assert this
-prior to calling the function.
Initializes the console error panic hook for better error messages
-string
Encode the given bytes in url-safe base64.
-Uint8Array
Decode the given url-safe base64-encoded slice into its raw bytes.
-string
- * [.authority()](#CoreDID+authority) ⇒ string
- * [.method()](#CoreDID+method) ⇒ string
- * [.methodId()](#CoreDID+methodId) ⇒ string
- * [.join(segment)](#CoreDID+join) ⇒ [DIDUrl
](#DIDUrl)
- * [.toUrl()](#CoreDID+toUrl) ⇒ [DIDUrl
](#DIDUrl)
- * [.intoUrl()](#CoreDID+intoUrl) ⇒ [DIDUrl
](#DIDUrl)
- * [.toString()](#CoreDID+toString) ⇒ string
- * [.toCoreDid()](#CoreDID+toCoreDid) ⇒ [CoreDID
](#CoreDID)
- * [.toJSON()](#CoreDID+toJSON) ⇒ any
- * [.clone()](#CoreDID+clone) ⇒ [CoreDID
](#CoreDID)
- * _static_
- * [.parse(input)](#CoreDID.parse) ⇒ [CoreDID
](#CoreDID)
- * [.validMethodName(value)](#CoreDID.validMethodName) ⇒ boolean
- * [.validMethodId(value)](#CoreDID.validMethodId) ⇒ boolean
- * [.fromJSON(json)](#CoreDID.fromJSON) ⇒ [CoreDID
](#CoreDID)
-
-
-
-### coreDID.setMethodName(value)
-Set the method name of the [CoreDID](#CoreDID).
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### coreDID.setMethodId(value)
-Set the method-specific-id of the `DID`.
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### coreDID.scheme() ⇒ string
-Returns the [CoreDID](#CoreDID) scheme.
-
-E.g.
-- `"did:example:12345678" -> "did"`
-- `"did:iota:smr:12345678" -> "did"`
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.authority() ⇒ string
-Returns the [CoreDID](#CoreDID) authority: the method name and method-id.
-
-E.g.
-- `"did:example:12345678" -> "example:12345678"`
-- `"did:iota:smr:12345678" -> "iota:smr:12345678"`
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.method() ⇒ string
-Returns the [CoreDID](#CoreDID) method name.
-
-E.g.
-- `"did:example:12345678" -> "example"`
-- `"did:iota:smr:12345678" -> "iota"`
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.methodId() ⇒ string
-Returns the [CoreDID](#CoreDID) method-specific ID.
-
-E.g.
-- `"did:example:12345678" -> "12345678"`
-- `"did:iota:smr:12345678" -> "smr:12345678"`
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.join(segment) ⇒ [DIDUrl
](#DIDUrl)
-Construct a new [DIDUrl](#DIDUrl) by joining with a relative DID Url string.
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| segment | string
|
-
-
-
-### coreDID.toUrl() ⇒ [DIDUrl
](#DIDUrl)
-Clones the [CoreDID](#CoreDID) into a [DIDUrl](#DIDUrl).
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.intoUrl() ⇒ [DIDUrl
](#DIDUrl)
-Converts the [CoreDID](#CoreDID) into a [DIDUrl](#DIDUrl), consuming it.
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.toString() ⇒ string
-Returns the [CoreDID](#CoreDID) as a string.
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.toCoreDid() ⇒ [CoreDID
](#CoreDID)
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### coreDID.clone() ⇒ [CoreDID
](#CoreDID)
-Deep clones the object.
-
-**Kind**: instance method of [CoreDID
](#CoreDID)
-
-
-### CoreDID.parse(input) ⇒ [CoreDID
](#CoreDID)
-Parses a [CoreDID](#CoreDID) from the given `input`.
-
-### Errors
-
-Throws an error if the input is not a valid [CoreDID](#CoreDID).
-
-**Kind**: static method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| input | string
|
-
-
-
-### CoreDID.validMethodName(value) ⇒ boolean
-Validates whether a string is a valid DID method name.
-
-**Kind**: static method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### CoreDID.validMethodId(value) ⇒ boolean
-Validates whether a string is a valid `DID` method-id.
-
-**Kind**: static method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### CoreDID.fromJSON(json) ⇒ [CoreDID
](#CoreDID)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [CoreDID
](#CoreDID)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## CoreDocument
-A method-agnostic DID Document.
-
-Note: All methods that involve reading from this class may potentially raise an error
-if the object is being concurrently modified.
-
-**Kind**: global class
-
-* [CoreDocument](#CoreDocument)
- * [new CoreDocument(values)](#new_CoreDocument_new)
- * _instance_
- * [.id()](#CoreDocument+id) ⇒ [CoreDID
](#CoreDID)
- * [.setId(id)](#CoreDocument+setId)
- * [.controller()](#CoreDocument+controller) ⇒ [Array.<CoreDID>
](#CoreDID)
- * [.setController(controllers)](#CoreDocument+setController)
- * [.alsoKnownAs()](#CoreDocument+alsoKnownAs) ⇒ Array.<string>
- * [.setAlsoKnownAs(urls)](#CoreDocument+setAlsoKnownAs)
- * [.verificationMethod()](#CoreDocument+verificationMethod) ⇒ [Array.<VerificationMethod>
](#VerificationMethod)
- * [.authentication()](#CoreDocument+authentication) ⇒ Array.<(DIDUrl\|VerificationMethod)>
- * [.assertionMethod()](#CoreDocument+assertionMethod) ⇒ Array.<(DIDUrl\|VerificationMethod)>
- * [.keyAgreement()](#CoreDocument+keyAgreement) ⇒ Array.<(DIDUrl\|VerificationMethod)>
- * [.capabilityDelegation()](#CoreDocument+capabilityDelegation) ⇒ Array.<(DIDUrl\|VerificationMethod)>
- * [.capabilityInvocation()](#CoreDocument+capabilityInvocation) ⇒ Array.<(DIDUrl\|VerificationMethod)>
- * [.properties()](#CoreDocument+properties) ⇒ Map.<string, any>
- * [.setPropertyUnchecked(key, value)](#CoreDocument+setPropertyUnchecked)
- * [.service()](#CoreDocument+service) ⇒ [Array.<Service>
](#Service)
- * [.insertService(service)](#CoreDocument+insertService)
- * [.removeService(didUrl)](#CoreDocument+removeService) ⇒ [Service
](#Service) \| undefined
- * [.resolveService(query)](#CoreDocument+resolveService) ⇒ [Service
](#Service) \| undefined
- * [.methods([scope])](#CoreDocument+methods) ⇒ [Array.<VerificationMethod>
](#VerificationMethod)
- * [.verificationRelationships()](#CoreDocument+verificationRelationships) ⇒ Array.<(DIDUrl\|VerificationMethod)>
- * [.insertMethod(method, scope)](#CoreDocument+insertMethod)
- * [.removeMethod(did)](#CoreDocument+removeMethod) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
- * [.resolveMethod(query, [scope])](#CoreDocument+resolveMethod) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
- * [.attachMethodRelationship(didUrl, relationship)](#CoreDocument+attachMethodRelationship) ⇒ boolean
- * [.detachMethodRelationship(didUrl, relationship)](#CoreDocument+detachMethodRelationship) ⇒ boolean
- * [.verifyJws(jws, options, [signatureVerifier], [detachedPayload])](#CoreDocument+verifyJws) ⇒ [DecodedJws
](#DecodedJws)
- * [.revokeCredentials(serviceQuery, indices)](#CoreDocument+revokeCredentials)
- * [.unrevokeCredentials(serviceQuery, indices)](#CoreDocument+unrevokeCredentials)
- * [.clone()](#CoreDocument+clone) ⇒ [CoreDocument
](#CoreDocument)
- * [._shallowCloneInternal()](#CoreDocument+_shallowCloneInternal) ⇒ [CoreDocument
](#CoreDocument)
- * [._strongCountInternal()](#CoreDocument+_strongCountInternal) ⇒ number
- * [.toJSON()](#CoreDocument+toJSON) ⇒ any
- * [.generateMethod(storage, keyType, alg, fragment, scope)](#CoreDocument+generateMethod) ⇒ Promise.<string>
- * [.purgeMethod(storage, id)](#CoreDocument+purgeMethod) ⇒ Promise.<void>
- * [.createJws(storage, fragment, payload, options)](#CoreDocument+createJws) ⇒ [Promise.<Jws>
](#Jws)
- * [.createCredentialJwt(storage, fragment, credential, options, [custom_claims])](#CoreDocument+createCredentialJwt) ⇒ [Promise.<Jwt>
](#Jwt)
- * [.createPresentationJwt(storage, fragment, presentation, signature_options, presentation_options)](#CoreDocument+createPresentationJwt) ⇒ [Promise.<Jwt>
](#Jwt)
- * _static_
- * [.fromJSON(json)](#CoreDocument.fromJSON) ⇒ [CoreDocument
](#CoreDocument)
- * [.expandDIDJwk(did)](#CoreDocument.expandDIDJwk) ⇒ [CoreDocument
](#CoreDocument)
-
-
-
-### new CoreDocument(values)
-Creates a new [CoreDocument](#CoreDocument) with the given properties.
-
-
-| Param | Type |
-| --- | --- |
-| values | ICoreDocument
|
-
-
-
-### coreDocument.id() ⇒ [CoreDID
](#CoreDID)
-Returns a copy of the DID Document `id`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.setId(id)
-Sets the DID of the document.
-
-### Warning
-
-Changing the identifier can drastically alter the results of
-`resolve_method`, `resolve_service` and the related
-[DID URL dereferencing](https://w3c-ccg.github.io/did-resolution/#dereferencing) algorithm.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| id | [CoreDID
](#CoreDID) |
-
-
-
-### coreDocument.controller() ⇒ [Array.<CoreDID>
](#CoreDID)
-Returns a copy of the document controllers.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.setController(controllers)
-Sets the controllers of the DID Document.
-
-Note: Duplicates will be ignored.
-Use `null` to remove all controllers.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| controllers | [CoreDID
](#CoreDID) \| [Array.<CoreDID>
](#CoreDID) \| null
|
-
-
-
-### coreDocument.alsoKnownAs() ⇒ Array.<string>
-Returns a copy of the document's `alsoKnownAs` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.setAlsoKnownAs(urls)
-Sets the `alsoKnownAs` property in the DID document.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| urls | string
\| Array.<string>
\| null
|
-
-
-
-### coreDocument.verificationMethod() ⇒ [Array.<VerificationMethod>
](#VerificationMethod)
-Returns a copy of the document's `verificationMethod` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.authentication() ⇒ Array.<(DIDUrl\|VerificationMethod)>
-Returns a copy of the document's `authentication` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.assertionMethod() ⇒ Array.<(DIDUrl\|VerificationMethod)>
-Returns a copy of the document's `assertionMethod` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.keyAgreement() ⇒ Array.<(DIDUrl\|VerificationMethod)>
-Returns a copy of the document's `keyAgreement` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.capabilityDelegation() ⇒ Array.<(DIDUrl\|VerificationMethod)>
-Returns a copy of the document's `capabilityDelegation` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.capabilityInvocation() ⇒ Array.<(DIDUrl\|VerificationMethod)>
-Returns a copy of the document's `capabilityInvocation` set.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.properties() ⇒ Map.<string, any>
-Returns a copy of the custom DID Document properties.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.setPropertyUnchecked(key, value)
-Sets a custom property in the DID Document.
-If the value is set to `null`, the custom property will be removed.
-
-### WARNING
-
-This method can overwrite existing properties like `id` and result in an invalid document.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| key | string
|
-| value | any
|
-
-
-
-### coreDocument.service() ⇒ [Array.<Service>
](#Service)
-Returns a set of all [Service](#Service) in the document.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.insertService(service)
-Add a new [Service](#Service) to the document.
-
-Errors if there already exists a service or verification method with the same id.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| service | [Service
](#Service) |
-
-
-
-### coreDocument.removeService(didUrl) ⇒ [Service
](#Service) \| undefined
-Remove a [Service](#Service) identified by the given [DIDUrl](#DIDUrl) from the document.
-
-Returns `true` if the service was removed.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| didUrl | [DIDUrl
](#DIDUrl) |
-
-
-
-### coreDocument.resolveService(query) ⇒ [Service
](#Service) \| undefined
-Returns the first [Service](#Service) with an `id` property matching the provided `query`,
-if present.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| query | [DIDUrl
](#DIDUrl) \| string
|
-
-
-
-### coreDocument.methods([scope]) ⇒ [Array.<VerificationMethod>
](#VerificationMethod)
-Returns a list of all [VerificationMethod](#VerificationMethod) in the DID Document,
-whose verification relationship matches `scope`.
-
-If `scope` is not set, a list over the **embedded** methods is returned.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| [scope] | [MethodScope
](#MethodScope) \| undefined
|
-
-
-
-### coreDocument.verificationRelationships() ⇒ Array.<(DIDUrl\|VerificationMethod)>
-Returns an array of all verification relationships.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.insertMethod(method, scope)
-Adds a new `method` to the document in the given `scope`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| method | [VerificationMethod
](#VerificationMethod) |
-| scope | [MethodScope
](#MethodScope) |
-
-
-
-### coreDocument.removeMethod(did) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
-Removes all references to the specified Verification Method.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| did | [DIDUrl
](#DIDUrl) |
-
-
-
-### coreDocument.resolveMethod(query, [scope]) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
-Returns a copy of the first verification method with an `id` property
-matching the provided `query` and the verification relationship
-specified by `scope`, if present.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| query | [DIDUrl
](#DIDUrl) \| string
|
-| [scope] | [MethodScope
](#MethodScope) \| undefined
|
-
-
-
-### coreDocument.attachMethodRelationship(didUrl, relationship) ⇒ boolean
-Attaches the relationship to the given method, if the method exists.
-
-Note: The method needs to be in the set of verification methods,
-so it cannot be an embedded one.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| didUrl | [DIDUrl
](#DIDUrl) |
-| relationship | [MethodRelationship
](#MethodRelationship) |
-
-
-
-### coreDocument.detachMethodRelationship(didUrl, relationship) ⇒ boolean
-Detaches the given relationship from the given method, if the method exists.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| didUrl | [DIDUrl
](#DIDUrl) |
-| relationship | [MethodRelationship
](#MethodRelationship) |
-
-
-
-### coreDocument.verifyJws(jws, options, [signatureVerifier], [detachedPayload]) ⇒ [DecodedJws
](#DecodedJws)
-Decodes and verifies the provided JWS according to the passed `options` and `signatureVerifier`.
- If no `signatureVerifier` argument is provided a default verifier will be used that is (only) capable of
-verifying EdDSA signatures.
-
-Regardless of which options are passed the following conditions must be met in order for a verification attempt to
-take place.
-- The JWS must be encoded according to the JWS compact serialization.
-- The `kid` value in the protected header must be an identifier of a verification method in this DID document,
-or set explicitly in the `options`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| jws | [Jws
](#Jws) |
-| options | [JwsVerificationOptions
](#JwsVerificationOptions) |
-| [signatureVerifier] | IJwsVerifier
\| undefined
|
-| [detachedPayload] | string
\| undefined
|
-
-
-
-### coreDocument.revokeCredentials(serviceQuery, indices)
-If the document has a [RevocationBitmap](#RevocationBitmap) service identified by `serviceQuery`,
-revoke all specified `indices`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| serviceQuery | [DIDUrl
](#DIDUrl) \| string
|
-| indices | number
\| Array.<number>
|
-
-
-
-### coreDocument.unrevokeCredentials(serviceQuery, indices)
-If the document has a [RevocationBitmap](#RevocationBitmap) service identified by `serviceQuery`,
-unrevoke all specified `indices`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| serviceQuery | [DIDUrl
](#DIDUrl) \| string
|
-| indices | number
\| Array.<number>
|
-
-
-
-### coreDocument.clone() ⇒ [CoreDocument
](#CoreDocument)
-Deep clones the [CoreDocument](#CoreDocument).
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.\_shallowCloneInternal() ⇒ [CoreDocument
](#CoreDocument)
-### Warning
-This is for internal use only. Do not rely on or call this method.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.\_strongCountInternal() ⇒ number
-### Warning
-This is for internal use only. Do not rely on or call this method.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.toJSON() ⇒ any
-Serializes to a plain JS representation.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-
-### coreDocument.generateMethod(storage, keyType, alg, fragment, scope) ⇒ Promise.<string>
-Generate new key material in the given `storage` and insert a new verification method with the corresponding
-public key material into the DID document.
-
-- If no fragment is given the `kid` of the generated JWK is used, if it is set, otherwise an error is returned.
-- The `keyType` must be compatible with the given `storage`. `Storage`s are expected to export key type constants
-for that use case.
-
-The fragment of the generated method is returned.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| keyType | string
|
-| alg | JwsAlgorithm
|
-| fragment | string
\| undefined
|
-| scope | [MethodScope
](#MethodScope) |
-
-
-
-### coreDocument.purgeMethod(storage, id) ⇒ Promise.<void>
-Remove the method identified by the `fragment` from the document and delete the corresponding key material in
-the `storage`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| id | [DIDUrl
](#DIDUrl) |
-
-
-
-### coreDocument.createJws(storage, fragment, payload, options) ⇒ [Promise.<Jws>
](#Jws)
-Sign the `payload` according to `options` with the storage backed private key corresponding to the public key
-material in the verification method identified by the given `fragment.
-
-Upon success a string representing a JWS encoded according to the Compact JWS Serialization format is returned.
-See [RFC7515 section 3.1](https://www.rfc-editor.org/rfc/rfc7515#section-3.1).
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| payload | string
|
-| options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-
-
-
-### coreDocument.createCredentialJwt(storage, fragment, credential, options, [custom_claims]) ⇒ [Promise.<Jwt>
](#Jwt)
-Produces a JWT where the payload is produced from the given `credential`
-in accordance with [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).
-
-Unless the `kid` is explicitly set in the options, the `kid` in the protected header is the `id`
-of the method identified by `fragment` and the JWS signature will be produced by the corresponding
-private key backed by the `storage` in accordance with the passed `options`.
-
-The `custom_claims` can be used to set additional claims on the resulting JWT.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| credential | [Credential
](#Credential) |
-| options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-| [custom_claims] | Record.<string, any>
\| undefined
|
-
-
-
-### coreDocument.createPresentationJwt(storage, fragment, presentation, signature_options, presentation_options) ⇒ [Promise.<Jwt>
](#Jwt)
-Produces a JWT where the payload is produced from the given presentation.
-in accordance with [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).
-
-Unless the `kid` is explicitly set in the options, the `kid` in the protected header is the `id`
-of the method identified by `fragment` and the JWS signature will be produced by the corresponding
-private key backed by the `storage` in accordance with the passed `options`.
-
-**Kind**: instance method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| presentation | [Presentation
](#Presentation) |
-| signature_options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-| presentation_options | [JwtPresentationOptions
](#JwtPresentationOptions) |
-
-
-
-### CoreDocument.fromJSON(json) ⇒ [CoreDocument
](#CoreDocument)
-Deserializes an instance from a plain JS representation.
-
-**Kind**: static method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-### CoreDocument.expandDIDJwk(did) ⇒ [CoreDocument
](#CoreDocument)
-Creates a [CoreDocument](#CoreDocument) from the given [DIDJwk](#DIDJwk).
-
-**Kind**: static method of [CoreDocument
](#CoreDocument)
-
-| Param | Type |
-| --- | --- |
-| did | [DIDJwk
](#DIDJwk) |
-
-
-
-## Credential
-**Kind**: global class
-
-* [Credential](#Credential)
- * [new Credential(values)](#new_Credential_new)
- * _instance_
- * [.context()](#Credential+context) ⇒ Array.<(string\|Record.<string, any>)>
- * [.id()](#Credential+id) ⇒ string
\| undefined
- * [.type()](#Credential+type) ⇒ Array.<string>
- * [.credentialSubject()](#Credential+credentialSubject) ⇒ Array.<Subject>
- * [.issuer()](#Credential+issuer) ⇒ string
\| Issuer
- * [.issuanceDate()](#Credential+issuanceDate) ⇒ [Timestamp
](#Timestamp)
- * [.expirationDate()](#Credential+expirationDate) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.credentialStatus()](#Credential+credentialStatus) ⇒ Array.<Status>
- * [.credentialSchema()](#Credential+credentialSchema) ⇒ Array.<Schema>
- * [.refreshService()](#Credential+refreshService) ⇒ Array.<RefreshService>
- * [.termsOfUse()](#Credential+termsOfUse) ⇒ Array.<Policy>
- * [.evidence()](#Credential+evidence) ⇒ Array.<Evidence>
- * [.nonTransferable()](#Credential+nonTransferable) ⇒ boolean
\| undefined
- * [.proof()](#Credential+proof) ⇒ [Proof
](#Proof) \| undefined
- * [.properties()](#Credential+properties) ⇒ Map.<string, any>
- * [.setProof([proof])](#Credential+setProof)
- * [.toJwtClaims([custom_claims])](#Credential+toJwtClaims) ⇒ Record.<string, any>
- * [.toJSON()](#Credential+toJSON) ⇒ any
- * [.clone()](#Credential+clone) ⇒ [Credential
](#Credential)
- * _static_
- * [.BaseContext()](#Credential.BaseContext) ⇒ string
- * [.BaseType()](#Credential.BaseType) ⇒ string
- * [.createDomainLinkageCredential(values)](#Credential.createDomainLinkageCredential) ⇒ [Credential
](#Credential)
- * [.fromJSON(json)](#Credential.fromJSON) ⇒ [Credential
](#Credential)
-
-
-
-### new Credential(values)
-Constructs a new [Credential](#Credential).
-
-
-| Param | Type |
-| --- | --- |
-| values | ICredential
|
-
-
-
-### credential.context() ⇒ Array.<(string\|Record.<string, any>)>
-Returns a copy of the JSON-LD context(s) applicable to the [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.id() ⇒ string
\| undefined
-Returns a copy of the unique `URI` identifying the [Credential](#Credential) .
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.type() ⇒ Array.<string>
-Returns a copy of the URIs defining the type of the [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.credentialSubject() ⇒ Array.<Subject>
-Returns a copy of the [Credential](#Credential) subject(s).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.issuer() ⇒ string
\| Issuer
-Returns a copy of the issuer of the [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.issuanceDate() ⇒ [Timestamp
](#Timestamp)
-Returns a copy of the timestamp of when the [Credential](#Credential) becomes valid.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.expirationDate() ⇒ [Timestamp
](#Timestamp) \| undefined
-Returns a copy of the timestamp of when the [Credential](#Credential) should no longer be considered valid.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.credentialStatus() ⇒ Array.<Status>
-Returns a copy of the information used to determine the current status of the [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.credentialSchema() ⇒ Array.<Schema>
-Returns a copy of the information used to assist in the enforcement of a specific [Credential](#Credential) structure.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.refreshService() ⇒ Array.<RefreshService>
-Returns a copy of the service(s) used to refresh an expired [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.termsOfUse() ⇒ Array.<Policy>
-Returns a copy of the terms-of-use specified by the [Credential](#Credential) issuer.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.evidence() ⇒ Array.<Evidence>
-Returns a copy of the human-readable evidence used to support the claims within the [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.nonTransferable() ⇒ boolean
\| undefined
-Returns whether or not the [Credential](#Credential) must only be contained within a [Presentation](#Presentation)
-with a proof issued from the [Credential](#Credential) subject.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.proof() ⇒ [Proof
](#Proof) \| undefined
-Optional cryptographic proof, unrelated to JWT.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.properties() ⇒ Map.<string, any>
-Returns a copy of the miscellaneous properties on the [Credential](#Credential).
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.setProof([proof])
-Sets the `proof` property of the [Credential](#Credential).
-
-Note that this proof is not related to JWT.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-| Param | Type |
-| --- | --- |
-| [proof] | [Proof
](#Proof) \| undefined
|
-
-
-
-### credential.toJwtClaims([custom_claims]) ⇒ Record.<string, any>
-Serializes the `Credential` as a JWT claims set
-in accordance with [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).
-
-The resulting object can be used as the payload of a JWS when issuing the credential.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-| Param | Type |
-| --- | --- |
-| [custom_claims] | Record.<string, any>
\| undefined
|
-
-
-
-### credential.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### credential.clone() ⇒ [Credential
](#Credential)
-Deep clones the object.
-
-**Kind**: instance method of [Credential
](#Credential)
-
-
-### Credential.BaseContext() ⇒ string
-Returns the base JSON-LD context.
-
-**Kind**: static method of [Credential
](#Credential)
-
-
-### Credential.BaseType() ⇒ string
-Returns the base type.
-
-**Kind**: static method of [Credential
](#Credential)
-
-
-### Credential.createDomainLinkageCredential(values) ⇒ [Credential
](#Credential)
-**Kind**: static method of [Credential
](#Credential)
-
-| Param | Type |
-| --- | --- |
-| values | IDomainLinkageCredential
|
-
-
-
-### Credential.fromJSON(json) ⇒ [Credential
](#Credential)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Credential
](#Credential)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## CustomMethodData
-A custom verification method data format.
-
-**Kind**: global class
-
-* [CustomMethodData](#CustomMethodData)
- * [new CustomMethodData(name, data)](#new_CustomMethodData_new)
- * _instance_
- * [.clone()](#CustomMethodData+clone) ⇒ [CustomMethodData
](#CustomMethodData)
- * [.toJSON()](#CustomMethodData+toJSON) ⇒ any
- * _static_
- * [.fromJSON(json)](#CustomMethodData.fromJSON) ⇒ [CustomMethodData
](#CustomMethodData)
-
-
-
-### new CustomMethodData(name, data)
-
-| Param | Type |
-| --- | --- |
-| name | string
|
-| data | any
|
-
-
-
-### customMethodData.clone() ⇒ [CustomMethodData
](#CustomMethodData)
-Deep clones the object.
-
-**Kind**: instance method of [CustomMethodData
](#CustomMethodData)
-
-
-### customMethodData.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [CustomMethodData
](#CustomMethodData)
-
-
-### CustomMethodData.fromJSON(json) ⇒ [CustomMethodData
](#CustomMethodData)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [CustomMethodData
](#CustomMethodData)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## DIDJwk
-`did:jwk` DID.
-
-**Kind**: global class
-
-* [DIDJwk](#DIDJwk)
- * [new DIDJwk(did)](#new_DIDJwk_new)
- * _instance_
- * [.jwk()](#DIDJwk+jwk) ⇒ [Jwk
](#Jwk)
- * [.scheme()](#DIDJwk+scheme) ⇒ string
- * [.authority()](#DIDJwk+authority) ⇒ string
- * [.method()](#DIDJwk+method) ⇒ string
- * [.methodId()](#DIDJwk+methodId) ⇒ string
- * [.toString()](#DIDJwk+toString) ⇒ string
- * [.toCoreDid()](#DIDJwk+toCoreDid) ⇒ [CoreDID
](#CoreDID)
- * [.toJSON()](#DIDJwk+toJSON) ⇒ any
- * [.clone()](#DIDJwk+clone) ⇒ [DIDJwk
](#DIDJwk)
- * _static_
- * [.parse(input)](#DIDJwk.parse) ⇒ [DIDJwk
](#DIDJwk)
- * [.fromJSON(json)](#DIDJwk.fromJSON) ⇒ [DIDJwk
](#DIDJwk)
-
-
-
-### new DIDJwk(did)
-Creates a new [DIDJwk](#DIDJwk) from a [CoreDID](#CoreDID).
-
-### Errors
-Throws an error if the given did is not a valid `did:jwk` DID.
-
-
-| Param | Type |
-| --- | --- |
-| did | [CoreDID
](#CoreDID) \| IToCoreDID
|
-
-
-
-### didJwk.jwk() ⇒ [Jwk
](#Jwk)
-Returns the JSON WEB KEY (JWK) encoded inside this `did:jwk`.
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.scheme() ⇒ string
-Returns the [CoreDID](#CoreDID) scheme.
-
-E.g.
-- `"did:example:12345678" -> "did"`
-- `"did:iota:smr:12345678" -> "did"`
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.authority() ⇒ string
-Returns the [CoreDID](#CoreDID) authority: the method name and method-id.
-
-E.g.
-- `"did:example:12345678" -> "example:12345678"`
-- `"did:iota:smr:12345678" -> "iota:smr:12345678"`
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.method() ⇒ string
-Returns the [CoreDID](#CoreDID) method name.
-
-E.g.
-- `"did:example:12345678" -> "example"`
-- `"did:iota:smr:12345678" -> "iota"`
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.methodId() ⇒ string
-Returns the [CoreDID](#CoreDID) method-specific ID.
-
-E.g.
-- `"did:example:12345678" -> "12345678"`
-- `"did:iota:smr:12345678" -> "smr:12345678"`
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.toString() ⇒ string
-Returns the [CoreDID](#CoreDID) as a string.
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.toCoreDid() ⇒ [CoreDID
](#CoreDID)
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### didJwk.clone() ⇒ [DIDJwk
](#DIDJwk)
-Deep clones the object.
-
-**Kind**: instance method of [DIDJwk
](#DIDJwk)
-
-
-### DIDJwk.parse(input) ⇒ [DIDJwk
](#DIDJwk)
-Parses a [DIDJwk](#DIDJwk) from the given `input`.
-
-### Errors
-
-Throws an error if the input is not a valid [DIDJwk](#DIDJwk).
-
-**Kind**: static method of [DIDJwk
](#DIDJwk)
-
-| Param | Type |
-| --- | --- |
-| input | string
|
-
-
-
-### DIDJwk.fromJSON(json) ⇒ [DIDJwk
](#DIDJwk)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [DIDJwk
](#DIDJwk)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## DIDUrl
-A method agnostic DID Url.
-
-**Kind**: global class
-
-* [DIDUrl](#DIDUrl)
- * _instance_
- * [.did()](#DIDUrl+did) ⇒ [CoreDID
](#CoreDID)
- * [.urlStr()](#DIDUrl+urlStr) ⇒ string
- * [.fragment()](#DIDUrl+fragment) ⇒ string
\| undefined
- * [.setFragment([value])](#DIDUrl+setFragment)
- * [.path()](#DIDUrl+path) ⇒ string
\| undefined
- * [.setPath([value])](#DIDUrl+setPath)
- * [.query()](#DIDUrl+query) ⇒ string
\| undefined
- * [.setQuery([value])](#DIDUrl+setQuery)
- * [.join(segment)](#DIDUrl+join) ⇒ [DIDUrl
](#DIDUrl)
- * [.toString()](#DIDUrl+toString) ⇒ string
- * [.toJSON()](#DIDUrl+toJSON) ⇒ any
- * [.clone()](#DIDUrl+clone) ⇒ [DIDUrl
](#DIDUrl)
- * _static_
- * [.parse(input)](#DIDUrl.parse) ⇒ [DIDUrl
](#DIDUrl)
- * [.fromJSON(json)](#DIDUrl.fromJSON) ⇒ [DIDUrl
](#DIDUrl)
-
-
-
-### didUrl.did() ⇒ [CoreDID
](#CoreDID)
-Return a copy of the [CoreDID](#CoreDID) section of the [DIDUrl](#DIDUrl).
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.urlStr() ⇒ string
-Return a copy of the relative DID Url as a string, including only the path, query, and fragment.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.fragment() ⇒ string
\| undefined
-Returns a copy of the [DIDUrl](#DIDUrl) method fragment, if any. Excludes the leading '#'.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.setFragment([value])
-Sets the `fragment` component of the [DIDUrl](#DIDUrl).
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-| Param | Type |
-| --- | --- |
-| [value] | string
\| undefined
|
-
-
-
-### didUrl.path() ⇒ string
\| undefined
-Returns a copy of the [DIDUrl](#DIDUrl) path.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.setPath([value])
-Sets the `path` component of the [DIDUrl](#DIDUrl).
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-| Param | Type |
-| --- | --- |
-| [value] | string
\| undefined
|
-
-
-
-### didUrl.query() ⇒ string
\| undefined
-Returns a copy of the [DIDUrl](#DIDUrl) method query, if any. Excludes the leading '?'.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.setQuery([value])
-Sets the `query` component of the [DIDUrl](#DIDUrl).
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-| Param | Type |
-| --- | --- |
-| [value] | string
\| undefined
|
-
-
-
-### didUrl.join(segment) ⇒ [DIDUrl
](#DIDUrl)
-Append a string representing a path, query, and/or fragment, returning a new [DIDUrl](#DIDUrl).
-
-Must begin with a valid delimiter character: '/', '?', '#'. Overwrites the existing URL
-segment and any following segments in order of path, query, then fragment.
-
-I.e.
-- joining a path will clear the query and fragment.
-- joining a query will clear the fragment.
-- joining a fragment will only overwrite the fragment.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-| Param | Type |
-| --- | --- |
-| segment | string
|
-
-
-
-### didUrl.toString() ⇒ string
-Returns the [DIDUrl](#DIDUrl) as a string.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### didUrl.clone() ⇒ [DIDUrl
](#DIDUrl)
-Deep clones the object.
-
-**Kind**: instance method of [DIDUrl
](#DIDUrl)
-
-
-### DIDUrl.parse(input) ⇒ [DIDUrl
](#DIDUrl)
-Parses a [DIDUrl](#DIDUrl) from the input string.
-
-**Kind**: static method of [DIDUrl
](#DIDUrl)
-
-| Param | Type |
-| --- | --- |
-| input | string
|
-
-
-
-### DIDUrl.fromJSON(json) ⇒ [DIDUrl
](#DIDUrl)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [DIDUrl
](#DIDUrl)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## DecodedJptCredential
-**Kind**: global class
-
-* [DecodedJptCredential](#DecodedJptCredential)
- * [.clone()](#DecodedJptCredential+clone) ⇒ [DecodedJptCredential
](#DecodedJptCredential)
- * [.credential()](#DecodedJptCredential+credential) ⇒ [Credential
](#Credential)
- * [.customClaims()](#DecodedJptCredential+customClaims) ⇒ Map.<string, any>
- * [.decodedJwp()](#DecodedJptCredential+decodedJwp) ⇒ [JwpIssued
](#JwpIssued)
-
-
-
-### decodedJptCredential.clone() ⇒ [DecodedJptCredential
](#DecodedJptCredential)
-Deep clones the object.
-
-**Kind**: instance method of [DecodedJptCredential
](#DecodedJptCredential)
-
-
-### decodedJptCredential.credential() ⇒ [Credential
](#Credential)
-Returns the [Credential](#Credential) embedded into this JPT.
-
-**Kind**: instance method of [DecodedJptCredential
](#DecodedJptCredential)
-
-
-### decodedJptCredential.customClaims() ⇒ Map.<string, any>
-Returns the custom claims parsed from the JPT.
-
-**Kind**: instance method of [DecodedJptCredential
](#DecodedJptCredential)
-
-
-### decodedJptCredential.decodedJwp() ⇒ [JwpIssued
](#JwpIssued)
-**Kind**: instance method of [DecodedJptCredential
](#DecodedJptCredential)
-
-
-## DecodedJptPresentation
-**Kind**: global class
-
-* [DecodedJptPresentation](#DecodedJptPresentation)
- * [.clone()](#DecodedJptPresentation+clone) ⇒ [DecodedJptPresentation
](#DecodedJptPresentation)
- * [.credential()](#DecodedJptPresentation+credential) ⇒ [Credential
](#Credential)
- * [.customClaims()](#DecodedJptPresentation+customClaims) ⇒ Map.<string, any>
- * [.aud()](#DecodedJptPresentation+aud) ⇒ string
\| undefined
-
-
-
-### decodedJptPresentation.clone() ⇒ [DecodedJptPresentation
](#DecodedJptPresentation)
-Deep clones the object.
-
-**Kind**: instance method of [DecodedJptPresentation
](#DecodedJptPresentation)
-
-
-### decodedJptPresentation.credential() ⇒ [Credential
](#Credential)
-Returns the [Credential](#Credential) embedded into this JPT.
-
-**Kind**: instance method of [DecodedJptPresentation
](#DecodedJptPresentation)
-
-
-### decodedJptPresentation.customClaims() ⇒ Map.<string, any>
-Returns the custom claims parsed from the JPT.
-
-**Kind**: instance method of [DecodedJptPresentation
](#DecodedJptPresentation)
-
-
-### decodedJptPresentation.aud() ⇒ string
\| undefined
-Returns the `aud` property parsed from the JWT claims.
-
-**Kind**: instance method of [DecodedJptPresentation
](#DecodedJptPresentation)
-
-
-## DecodedJws
-A cryptographically verified decoded token from a JWS.
-
-Contains the decoded headers and the raw claims.
-
-**Kind**: global class
-
-* [DecodedJws](#DecodedJws)
- * [.claims()](#DecodedJws+claims) ⇒ string
- * [.claimsBytes()](#DecodedJws+claimsBytes) ⇒ Uint8Array
- * [.protectedHeader()](#DecodedJws+protectedHeader) ⇒ [JwsHeader
](#JwsHeader)
- * [.clone()](#DecodedJws+clone) ⇒ [DecodedJws
](#DecodedJws)
- * [.toJSON()](#DecodedJws+toJSON) ⇒ any
-
-
-
-### decodedJws.claims() ⇒ string
-Returns a copy of the parsed claims represented as a string.
-
-# Errors
-An error is thrown if the claims cannot be represented as a string.
-
-This error can only occur if the Token was decoded from a detached payload.
-
-**Kind**: instance method of [DecodedJws
](#DecodedJws)
-
-
-### decodedJws.claimsBytes() ⇒ Uint8Array
-Return a copy of the parsed claims represented as an array of bytes.
-
-**Kind**: instance method of [DecodedJws
](#DecodedJws)
-
-
-### decodedJws.protectedHeader() ⇒ [JwsHeader
](#JwsHeader)
-Returns a copy of the protected header.
-
-**Kind**: instance method of [DecodedJws
](#DecodedJws)
-
-
-### decodedJws.clone() ⇒ [DecodedJws
](#DecodedJws)
-Deep clones the object.
-
-**Kind**: instance method of [DecodedJws
](#DecodedJws)
-
-
-### decodedJws.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [DecodedJws
](#DecodedJws)
-
-
-## DecodedJwtCredential
-A cryptographically verified and decoded Credential.
-
-Note that having an instance of this type only means the JWS it was constructed from was verified.
-It does not imply anything about a potentially present proof property on the credential itself.
-
-**Kind**: global class
-
-* [DecodedJwtCredential](#DecodedJwtCredential)
- * [.credential()](#DecodedJwtCredential+credential) ⇒ [Credential
](#Credential)
- * [.protectedHeader()](#DecodedJwtCredential+protectedHeader) ⇒ [JwsHeader
](#JwsHeader)
- * [.customClaims()](#DecodedJwtCredential+customClaims) ⇒ Record.<string, any>
\| undefined
- * [.intoCredential()](#DecodedJwtCredential+intoCredential) ⇒ [Credential
](#Credential)
-
-
-
-### decodedJwtCredential.credential() ⇒ [Credential
](#Credential)
-Returns a copy of the credential parsed to the [Verifiable Credentials Data model](https://www.w3.org/TR/vc-data-model/).
-
-**Kind**: instance method of [DecodedJwtCredential
](#DecodedJwtCredential)
-
-
-### decodedJwtCredential.protectedHeader() ⇒ [JwsHeader
](#JwsHeader)
-Returns a copy of the protected header parsed from the decoded JWS.
-
-**Kind**: instance method of [DecodedJwtCredential
](#DecodedJwtCredential)
-
-
-### decodedJwtCredential.customClaims() ⇒ Record.<string, any>
\| undefined
-The custom claims parsed from the JWT.
-
-**Kind**: instance method of [DecodedJwtCredential
](#DecodedJwtCredential)
-
-
-### decodedJwtCredential.intoCredential() ⇒ [Credential
](#Credential)
-Consumes the object and returns the decoded credential.
-
-### Warning
-
-This destroys the [DecodedJwtCredential](#DecodedJwtCredential) object.
-
-**Kind**: instance method of [DecodedJwtCredential
](#DecodedJwtCredential)
-
-
-## DecodedJwtPresentation
-A cryptographically verified and decoded presentation.
-
-Note that having an instance of this type only means the JWS it was constructed from was verified.
-It does not imply anything about a potentially present proof property on the presentation itself.
-
-**Kind**: global class
-
-* [DecodedJwtPresentation](#DecodedJwtPresentation)
- * [.presentation()](#DecodedJwtPresentation+presentation) ⇒ [Presentation
](#Presentation)
- * [.protectedHeader()](#DecodedJwtPresentation+protectedHeader) ⇒ [JwsHeader
](#JwsHeader)
- * [.intoPresentation()](#DecodedJwtPresentation+intoPresentation) ⇒ [Presentation
](#Presentation)
- * [.expirationDate()](#DecodedJwtPresentation+expirationDate) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.issuanceDate()](#DecodedJwtPresentation+issuanceDate) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.audience()](#DecodedJwtPresentation+audience) ⇒ string
\| undefined
- * [.customClaims()](#DecodedJwtPresentation+customClaims) ⇒ Record.<string, any>
\| undefined
-
-
-
-### decodedJwtPresentation.presentation() ⇒ [Presentation
](#Presentation)
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-### decodedJwtPresentation.protectedHeader() ⇒ [JwsHeader
](#JwsHeader)
-Returns a copy of the protected header parsed from the decoded JWS.
-
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-### decodedJwtPresentation.intoPresentation() ⇒ [Presentation
](#Presentation)
-Consumes the object and returns the decoded presentation.
-
-### Warning
-This destroys the [DecodedJwtPresentation](#DecodedJwtPresentation) object.
-
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-### decodedJwtPresentation.expirationDate() ⇒ [Timestamp
](#Timestamp) \| undefined
-The expiration date parsed from the JWT claims.
-
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-### decodedJwtPresentation.issuanceDate() ⇒ [Timestamp
](#Timestamp) \| undefined
-The issuance date parsed from the JWT claims.
-
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-### decodedJwtPresentation.audience() ⇒ string
\| undefined
-The `aud` property parsed from JWT claims.
-
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-### decodedJwtPresentation.customClaims() ⇒ Record.<string, any>
\| undefined
-The custom claims parsed from the JWT.
-
-**Kind**: instance method of [DecodedJwtPresentation
](#DecodedJwtPresentation)
-
-
-## Disclosure
-Represents an elements constructing a disclosure.
-Object properties and array elements disclosures are supported.
-
-See: https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-07.html#name-disclosures
-
-**Kind**: global class
-
-* [Disclosure](#Disclosure)
- * [new Disclosure(salt, claim_name, claim_value)](#new_Disclosure_new)
- * _instance_
- * [.disclosure()](#Disclosure+disclosure) ⇒ string
- * [.toEncodedString()](#Disclosure+toEncodedString) ⇒ string
- * [.toString()](#Disclosure+toString) ⇒ string
- * [.salt()](#Disclosure+salt) ⇒ string
- * [.claimName()](#Disclosure+claimName) ⇒ string
\| undefined
- * [.claimValue()](#Disclosure+claimValue) ⇒ any
- * [.toJSON()](#Disclosure+toJSON) ⇒ any
- * _static_
- * [.parse(disclosure)](#Disclosure.parse) ⇒ [Disclosure
](#Disclosure)
- * [.fromJSON(json)](#Disclosure.fromJSON) ⇒ [Disclosure
](#Disclosure)
-
-
-
-### new Disclosure(salt, claim_name, claim_value)
-
-| Param | Type |
-| --- | --- |
-| salt | string
|
-| claim_name | string
\| undefined
|
-| claim_value | any
|
-
-
-
-### disclosure.disclosure() ⇒ string
-Returns a copy of the base64url-encoded string.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### disclosure.toEncodedString() ⇒ string
-Returns a copy of the base64url-encoded string.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### disclosure.toString() ⇒ string
-Returns a copy of the base64url-encoded string.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### disclosure.salt() ⇒ string
-Returns a copy of the salt value.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### disclosure.claimName() ⇒ string
\| undefined
-Returns a copy of the claim name, optional for array elements.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### disclosure.claimValue() ⇒ any
-Returns a copy of the claim Value which can be of any type.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### disclosure.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Disclosure
](#Disclosure)
-
-
-### Disclosure.parse(disclosure) ⇒ [Disclosure
](#Disclosure)
-Parses a Base64 encoded disclosure into a `Disclosure`.
-
-## Error
-
-Returns an `InvalidDisclosure` if input is not a valid disclosure.
-
-**Kind**: static method of [Disclosure
](#Disclosure)
-
-| Param | Type |
-| --- | --- |
-| disclosure | string
|
-
-
-
-### Disclosure.fromJSON(json) ⇒ [Disclosure
](#Disclosure)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Disclosure
](#Disclosure)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## DomainLinkageConfiguration
-DID Configuration Resource which contains Domain Linkage Credentials.
-It can be placed in an origin's `.well-known` directory to prove linkage between the origin and a DID.
-See: Array.<Jwt>
](#Jwt)
- * [.issuers()](#DomainLinkageConfiguration+issuers) ⇒ [Array.<CoreDID>
](#CoreDID)
- * [.toJSON()](#DomainLinkageConfiguration+toJSON) ⇒ any
- * [.clone()](#DomainLinkageConfiguration+clone) ⇒ [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
- * _static_
- * [.fromJSON(json)](#DomainLinkageConfiguration.fromJSON) ⇒ [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-
-
-
-### new DomainLinkageConfiguration(linkedDids)
-Constructs a new [DomainLinkageConfiguration](#DomainLinkageConfiguration).
-
-
-| Param | Type |
-| --- | --- |
-| linkedDids | [Array.<Jwt>
](#Jwt) |
-
-
-
-### domainLinkageConfiguration.linkedDids() ⇒ [Array.<Jwt>
](#Jwt)
-List of the Domain Linkage Credentials.
-
-**Kind**: instance method of [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-
-
-### domainLinkageConfiguration.issuers() ⇒ [Array.<CoreDID>
](#CoreDID)
-List of the issuers of the Domain Linkage Credentials.
-
-**Kind**: instance method of [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-
-
-### domainLinkageConfiguration.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-
-
-### domainLinkageConfiguration.clone() ⇒ [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-Deep clones the object.
-
-**Kind**: instance method of [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-
-
-### DomainLinkageConfiguration.fromJSON(json) ⇒ [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [DomainLinkageConfiguration
](#DomainLinkageConfiguration)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## Duration
-A span of time.
-
-**Kind**: global class
-
-* [Duration](#Duration)
- * _instance_
- * [.toJSON()](#Duration+toJSON) ⇒ any
- * _static_
- * [.seconds(seconds)](#Duration.seconds) ⇒ [Duration
](#Duration)
- * [.minutes(minutes)](#Duration.minutes) ⇒ [Duration
](#Duration)
- * [.hours(hours)](#Duration.hours) ⇒ [Duration
](#Duration)
- * [.days(days)](#Duration.days) ⇒ [Duration
](#Duration)
- * [.weeks(weeks)](#Duration.weeks) ⇒ [Duration
](#Duration)
- * [.fromJSON(json)](#Duration.fromJSON) ⇒ [Duration
](#Duration)
-
-
-
-### duration.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Duration
](#Duration)
-
-
-### Duration.seconds(seconds) ⇒ [Duration
](#Duration)
-Create a new [Duration](#Duration) with the given number of seconds.
-
-**Kind**: static method of [Duration
](#Duration)
-
-| Param | Type |
-| --- | --- |
-| seconds | number
|
-
-
-
-### Duration.minutes(minutes) ⇒ [Duration
](#Duration)
-Create a new [Duration](#Duration) with the given number of minutes.
-
-**Kind**: static method of [Duration
](#Duration)
-
-| Param | Type |
-| --- | --- |
-| minutes | number
|
-
-
-
-### Duration.hours(hours) ⇒ [Duration
](#Duration)
-Create a new [Duration](#Duration) with the given number of hours.
-
-**Kind**: static method of [Duration
](#Duration)
-
-| Param | Type |
-| --- | --- |
-| hours | number
|
-
-
-
-### Duration.days(days) ⇒ [Duration
](#Duration)
-Create a new [Duration](#Duration) with the given number of days.
-
-**Kind**: static method of [Duration
](#Duration)
-
-| Param | Type |
-| --- | --- |
-| days | number
|
-
-
-
-### Duration.weeks(weeks) ⇒ [Duration
](#Duration)
-Create a new [Duration](#Duration) with the given number of weeks.
-
-**Kind**: static method of [Duration
](#Duration)
-
-| Param | Type |
-| --- | --- |
-| weeks | number
|
-
-
-
-### Duration.fromJSON(json) ⇒ [Duration
](#Duration)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Duration
](#Duration)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## EcDSAJwsVerifier
-An implementor of `IJwsVerifier` that can handle the
-`EcDSA` algorithm.
-
-**Kind**: global class
-
-* [EcDSAJwsVerifier](#EcDSAJwsVerifier)
- * [new EcDSAJwsVerifier()](#new_EcDSAJwsVerifier_new)
- * [.verify(alg, signingInput, decodedSignature, publicKey)](#EcDSAJwsVerifier+verify)
-
-
-
-### new EcDSAJwsVerifier()
-Constructs an EcDSAJwsVerifier.
-
-
-
-### ecDSAJwsVerifier.verify(alg, signingInput, decodedSignature, publicKey)
-Verify a JWS signature secured with the `EcDSA` algorithm.
-Only the `ES256` and `ES256K` curves are supported for now.
-
-# Warning
-
-This function does not check the `alg` property in the protected header. Callers are expected to assert this
-prior to calling the function.
-
-**Kind**: instance method of [EcDSAJwsVerifier
](#EcDSAJwsVerifier)
-
-| Param | Type |
-| --- | --- |
-| alg | JwsAlgorithm
|
-| signingInput | Uint8Array
|
-| decodedSignature | Uint8Array
|
-| publicKey | [Jwk
](#Jwk) |
-
-
-
-## EdDSAJwsVerifier
-An implementor of `IJwsVerifier` that can handle the
-`EdDSA` algorithm.
-
-**Kind**: global class
-
-* [EdDSAJwsVerifier](#EdDSAJwsVerifier)
- * [new EdDSAJwsVerifier()](#new_EdDSAJwsVerifier_new)
- * [.verify(alg, signingInput, decodedSignature, publicKey)](#EdDSAJwsVerifier+verify)
-
-
-
-### new EdDSAJwsVerifier()
-Constructs an EdDSAJwsVerifier.
-
-
-
-### edDSAJwsVerifier.verify(alg, signingInput, decodedSignature, publicKey)
-Verify a JWS signature secured with the `EdDSA` algorithm.
-Only the `Ed25519` curve is supported for now.
-
-This function is useful when one is building an `IJwsVerifier` that extends the default provided by
-the IOTA Identity Framework.
-
-# Warning
-
-This function does not check whether `alg = EdDSA` in the protected header. Callers are expected to assert this
-prior to calling the function.
-
-**Kind**: instance method of [EdDSAJwsVerifier
](#EdDSAJwsVerifier)
-
-| Param | Type |
-| --- | --- |
-| alg | JwsAlgorithm
|
-| signingInput | Uint8Array
|
-| decodedSignature | Uint8Array
|
-| publicKey | [Jwk
](#Jwk) |
-
-
-
-## IotaDID
-A DID conforming to the IOTA DID method specification.
-
-**Kind**: global class
-
-* [IotaDID](#IotaDID)
- * [new IotaDID(bytes, network)](#new_IotaDID_new)
- * _instance_
- * [.network()](#IotaDID+network) ⇒ string
- * [.tag()](#IotaDID+tag) ⇒ string
- * [.toCoreDid()](#IotaDID+toCoreDid) ⇒ [CoreDID
](#CoreDID)
- * [.scheme()](#IotaDID+scheme) ⇒ string
- * [.authority()](#IotaDID+authority) ⇒ string
- * [.method()](#IotaDID+method) ⇒ string
- * [.methodId()](#IotaDID+methodId) ⇒ string
- * [.join(segment)](#IotaDID+join) ⇒ [DIDUrl
](#DIDUrl)
- * [.toUrl()](#IotaDID+toUrl) ⇒ [DIDUrl
](#DIDUrl)
- * [.toAliasId()](#IotaDID+toAliasId) ⇒ string
- * [.intoUrl()](#IotaDID+intoUrl) ⇒ [DIDUrl
](#DIDUrl)
- * [.toString()](#IotaDID+toString) ⇒ string
- * [.toJSON()](#IotaDID+toJSON) ⇒ any
- * [.clone()](#IotaDID+clone) ⇒ [IotaDID
](#IotaDID)
- * _static_
- * [.METHOD](#IotaDID.METHOD) ⇒ string
- * [.DEFAULT_NETWORK](#IotaDID.DEFAULT_NETWORK) ⇒ string
- * [.fromAliasId(aliasId, network)](#IotaDID.fromAliasId) ⇒ [IotaDID
](#IotaDID)
- * [.placeholder(network)](#IotaDID.placeholder) ⇒ [IotaDID
](#IotaDID)
- * [.parse(input)](#IotaDID.parse) ⇒ [IotaDID
](#IotaDID)
- * [.fromJSON(json)](#IotaDID.fromJSON) ⇒ [IotaDID
](#IotaDID)
-
-
-
-### new IotaDID(bytes, network)
-Constructs a new [IotaDID](#IotaDID) from a byte representation of the tag and the given
-network name.
-
-See also [placeholder](#IotaDID.placeholder).
-
-
-| Param | Type |
-| --- | --- |
-| bytes | Uint8Array
|
-| network | string
|
-
-
-
-### did.network() ⇒ string
-Returns the Tangle network name of the [IotaDID](#IotaDID).
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.tag() ⇒ string
-Returns a copy of the unique tag of the [IotaDID](#IotaDID).
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.toCoreDid() ⇒ [CoreDID
](#CoreDID)
-Returns the DID represented as a [CoreDID](#CoreDID).
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.scheme() ⇒ string
-Returns the `DID` scheme.
-
-E.g.
-- `"did:example:12345678" -> "did"`
-- `"did:iota:main:12345678" -> "did"`
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.authority() ⇒ string
-Returns the `DID` authority: the method name and method-id.
-
-E.g.
-- `"did:example:12345678" -> "example:12345678"`
-- `"did:iota:main:12345678" -> "iota:main:12345678"`
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.method() ⇒ string
-Returns the `DID` method name.
-
-E.g.
-- `"did:example:12345678" -> "example"`
-- `"did:iota:main:12345678" -> "iota"`
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.methodId() ⇒ string
-Returns the `DID` method-specific ID.
-
-E.g.
-- `"did:example:12345678" -> "12345678"`
-- `"did:iota:main:12345678" -> "main:12345678"`
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.join(segment) ⇒ [DIDUrl
](#DIDUrl)
-Construct a new [DIDUrl](#DIDUrl) by joining with a relative DID Url string.
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-| Param | Type |
-| --- | --- |
-| segment | string
|
-
-
-
-### did.toUrl() ⇒ [DIDUrl
](#DIDUrl)
-Clones the `DID` into a [DIDUrl](#DIDUrl).
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.toAliasId() ⇒ string
-Returns the hex-encoded AliasId with a '0x' prefix, from the DID tag.
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.intoUrl() ⇒ [DIDUrl
](#DIDUrl)
-Converts the `DID` into a [DIDUrl](#DIDUrl), consuming it.
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.toString() ⇒ string
-Returns the `DID` as a string.
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### did.clone() ⇒ [IotaDID
](#IotaDID)
-Deep clones the object.
-
-**Kind**: instance method of [IotaDID
](#IotaDID)
-
-
-### IotaDID.METHOD ⇒ string
-The IOTA DID method name (`"iota"`).
-
-**Kind**: static property of [IotaDID
](#IotaDID)
-
-
-### IotaDID.DEFAULT\_NETWORK ⇒ string
-The default Tangle network (`"iota"`).
-
-**Kind**: static property of [IotaDID
](#IotaDID)
-
-
-### IotaDID.fromAliasId(aliasId, network) ⇒ [IotaDID
](#IotaDID)
-Constructs a new [IotaDID](#IotaDID) from a hex representation of an Alias Id and the given
-network name.
-
-**Kind**: static method of [IotaDID
](#IotaDID)
-
-| Param | Type |
-| --- | --- |
-| aliasId | string
|
-| network | string
|
-
-
-
-### IotaDID.placeholder(network) ⇒ [IotaDID
](#IotaDID)
-Creates a new placeholder [IotaDID](#IotaDID) with the given network name.
-
-E.g. `did:iota:smr:0x0000000000000000000000000000000000000000000000000000000000000000`.
-
-**Kind**: static method of [IotaDID
](#IotaDID)
-
-| Param | Type |
-| --- | --- |
-| network | string
|
-
-
-
-### IotaDID.parse(input) ⇒ [IotaDID
](#IotaDID)
-Parses a [IotaDID](#IotaDID) from the input string.
-
-**Kind**: static method of [IotaDID
](#IotaDID)
-
-| Param | Type |
-| --- | --- |
-| input | string
|
-
-
-
-### IotaDID.fromJSON(json) ⇒ [IotaDID
](#IotaDID)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [IotaDID
](#IotaDID)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## IotaDocument
-A DID Document adhering to the IOTA DID method specification.
-
-Note: All methods that involve reading from this class may potentially raise an error
-if the object is being concurrently modified.
-
-**Kind**: global class
-
-* [IotaDocument](#IotaDocument)
- * [new IotaDocument(network)](#new_IotaDocument_new)
- * _instance_
- * [.id()](#IotaDocument+id) ⇒ [IotaDID
](#IotaDID)
- * [.controller()](#IotaDocument+controller) ⇒ [Array.<IotaDID>
](#IotaDID)
- * [.setController(controller)](#IotaDocument+setController)
- * [.alsoKnownAs()](#IotaDocument+alsoKnownAs) ⇒ Array.<string>
- * [.setAlsoKnownAs(urls)](#IotaDocument+setAlsoKnownAs)
- * [.properties()](#IotaDocument+properties) ⇒ Map.<string, any>
- * [.setPropertyUnchecked(key, value)](#IotaDocument+setPropertyUnchecked)
- * [.service()](#IotaDocument+service) ⇒ [Array.<Service>
](#Service)
- * [.insertService(service)](#IotaDocument+insertService)
- * [.removeService(did)](#IotaDocument+removeService) ⇒ [Service
](#Service) \| undefined
- * [.resolveService(query)](#IotaDocument+resolveService) ⇒ [Service
](#Service) \| undefined
- * [.methods([scope])](#IotaDocument+methods) ⇒ [Array.<VerificationMethod>
](#VerificationMethod)
- * [.insertMethod(method, scope)](#IotaDocument+insertMethod)
- * [.removeMethod(did)](#IotaDocument+removeMethod) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
- * [.resolveMethod(query, [scope])](#IotaDocument+resolveMethod) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
- * [.attachMethodRelationship(didUrl, relationship)](#IotaDocument+attachMethodRelationship) ⇒ boolean
- * [.detachMethodRelationship(didUrl, relationship)](#IotaDocument+detachMethodRelationship) ⇒ boolean
- * [.verifyJws(jws, options, [signatureVerifier], [detachedPayload])](#IotaDocument+verifyJws) ⇒ [DecodedJws
](#DecodedJws)
- * [.pack()](#IotaDocument+pack) ⇒ Uint8Array
- * [.packWithEncoding(encoding)](#IotaDocument+packWithEncoding) ⇒ Uint8Array
- * [.metadata()](#IotaDocument+metadata) ⇒ [IotaDocumentMetadata
](#IotaDocumentMetadata)
- * [.metadataCreated()](#IotaDocument+metadataCreated) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.setMetadataCreated(timestamp)](#IotaDocument+setMetadataCreated)
- * [.metadataUpdated()](#IotaDocument+metadataUpdated) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.setMetadataUpdated(timestamp)](#IotaDocument+setMetadataUpdated)
- * [.metadataDeactivated()](#IotaDocument+metadataDeactivated) ⇒ boolean
\| undefined
- * [.setMetadataDeactivated([deactivated])](#IotaDocument+setMetadataDeactivated)
- * [.metadataStateControllerAddress()](#IotaDocument+metadataStateControllerAddress) ⇒ string
\| undefined
- * [.metadataGovernorAddress()](#IotaDocument+metadataGovernorAddress) ⇒ string
\| undefined
- * [.setMetadataPropertyUnchecked(key, value)](#IotaDocument+setMetadataPropertyUnchecked)
- * [.revokeCredentials(serviceQuery, indices)](#IotaDocument+revokeCredentials)
- * [.unrevokeCredentials(serviceQuery, indices)](#IotaDocument+unrevokeCredentials)
- * [.clone()](#IotaDocument+clone) ⇒ [IotaDocument
](#IotaDocument)
- * [._shallowCloneInternal()](#IotaDocument+_shallowCloneInternal) ⇒ [IotaDocument
](#IotaDocument)
- * [._strongCountInternal()](#IotaDocument+_strongCountInternal) ⇒ number
- * [.toJSON()](#IotaDocument+toJSON) ⇒ any
- * [.toCoreDocument()](#IotaDocument+toCoreDocument) ⇒ [CoreDocument
](#CoreDocument)
- * [.generateMethod(storage, keyType, alg, fragment, scope)](#IotaDocument+generateMethod) ⇒ Promise.<string>
- * [.purgeMethod(storage, id)](#IotaDocument+purgeMethod) ⇒ Promise.<void>
- * ~~[.createJwt(storage, fragment, payload, options)](#IotaDocument+createJwt) ⇒ [Promise.<Jws>
](#Jws)~~
- * [.createJws(storage, fragment, payload, options)](#IotaDocument+createJws) ⇒ [Promise.<Jws>
](#Jws)
- * [.createCredentialJwt(storage, fragment, credential, options, [custom_claims])](#IotaDocument+createCredentialJwt) ⇒ [Promise.<Jwt>
](#Jwt)
- * [.createPresentationJwt(storage, fragment, presentation, signature_options, presentation_options)](#IotaDocument+createPresentationJwt) ⇒ [Promise.<Jwt>
](#Jwt)
- * [.generateMethodJwp(storage, alg, fragment, scope)](#IotaDocument+generateMethodJwp) ⇒ Promise.<string>
- * [.createIssuedJwp(storage, fragment, jpt_claims, options)](#IotaDocument+createIssuedJwp) ⇒ Promise.<string>
- * [.createPresentedJwp(presentation, method_id, options)](#IotaDocument+createPresentedJwp) ⇒ Promise.<string>
- * [.createCredentialJpt(credential, storage, fragment, options, [custom_claims])](#IotaDocument+createCredentialJpt) ⇒ [Promise.<Jpt>
](#Jpt)
- * [.createPresentationJpt(presentation, method_id, options)](#IotaDocument+createPresentationJpt) ⇒ [Promise.<Jpt>
](#Jpt)
- * _static_
- * [.newWithId(id)](#IotaDocument.newWithId) ⇒ [IotaDocument
](#IotaDocument)
- * [.unpackFromOutput(did, aliasOutput, allowEmpty)](#IotaDocument.unpackFromOutput) ⇒ [IotaDocument
](#IotaDocument)
- * [.unpackFromBlock(network, block)](#IotaDocument.unpackFromBlock) ⇒ [Array.<IotaDocument>
](#IotaDocument)
- * [.fromJSON(json)](#IotaDocument.fromJSON) ⇒ [IotaDocument
](#IotaDocument)
-
-
-
-### new IotaDocument(network)
-Constructs an empty IOTA DID Document with a [placeholder](#IotaDID.placeholder) identifier
-for the given `network`.
-
-
-| Param | Type |
-| --- | --- |
-| network | string
|
-
-
-
-### iotaDocument.id() ⇒ [IotaDID
](#IotaDID)
-Returns a copy of the DID Document `id`.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.controller() ⇒ [Array.<IotaDID>
](#IotaDID)
-Returns a copy of the list of document controllers.
-
-NOTE: controllers are determined by the `state_controller` unlock condition of the output
-during resolution and are omitted when publishing.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setController(controller)
-Sets the controllers of the document.
-
-Note: Duplicates will be ignored.
-Use `null` to remove all controllers.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| controller | [Array.<IotaDID>
](#IotaDID) \| null
|
-
-
-
-### iotaDocument.alsoKnownAs() ⇒ Array.<string>
-Returns a copy of the document's `alsoKnownAs` set.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setAlsoKnownAs(urls)
-Sets the `alsoKnownAs` property in the DID document.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| urls | string
\| Array.<string>
\| null
|
-
-
-
-### iotaDocument.properties() ⇒ Map.<string, any>
-Returns a copy of the custom DID Document properties.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setPropertyUnchecked(key, value)
-Sets a custom property in the DID Document.
-If the value is set to `null`, the custom property will be removed.
-
-### WARNING
-
-This method can overwrite existing properties like `id` and result in an invalid document.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| key | string
|
-| value | any
|
-
-
-
-### iotaDocument.service() ⇒ [Array.<Service>
](#Service)
-Return a set of all [Service](#Service) in the document.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.insertService(service)
-Add a new [Service](#Service) to the document.
-
-Returns `true` if the service was added.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| service | [Service
](#Service) |
-
-
-
-### iotaDocument.removeService(did) ⇒ [Service
](#Service) \| undefined
-Remove a [Service](#Service) identified by the given [DIDUrl](#DIDUrl) from the document.
-
-Returns `true` if a service was removed.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| did | [DIDUrl
](#DIDUrl) |
-
-
-
-### iotaDocument.resolveService(query) ⇒ [Service
](#Service) \| undefined
-Returns the first [Service](#Service) with an `id` property matching the provided `query`,
-if present.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| query | [DIDUrl
](#DIDUrl) \| string
|
-
-
-
-### iotaDocument.methods([scope]) ⇒ [Array.<VerificationMethod>
](#VerificationMethod)
-Returns a list of all [VerificationMethod](#VerificationMethod) in the DID Document,
-whose verification relationship matches `scope`.
-
-If `scope` is not set, a list over the **embedded** methods is returned.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| [scope] | [MethodScope
](#MethodScope) \| undefined
|
-
-
-
-### iotaDocument.insertMethod(method, scope)
-Adds a new `method` to the document in the given `scope`.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| method | [VerificationMethod
](#VerificationMethod) |
-| scope | [MethodScope
](#MethodScope) |
-
-
-
-### iotaDocument.removeMethod(did) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
-Removes all references to the specified Verification Method.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| did | [DIDUrl
](#DIDUrl) |
-
-
-
-### iotaDocument.resolveMethod(query, [scope]) ⇒ [VerificationMethod
](#VerificationMethod) \| undefined
-Returns a copy of the first verification method with an `id` property
-matching the provided `query` and the verification relationship
-specified by `scope`, if present.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| query | [DIDUrl
](#DIDUrl) \| string
|
-| [scope] | [MethodScope
](#MethodScope) \| undefined
|
-
-
-
-### iotaDocument.attachMethodRelationship(didUrl, relationship) ⇒ boolean
-Attaches the relationship to the given method, if the method exists.
-
-Note: The method needs to be in the set of verification methods,
-so it cannot be an embedded one.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| didUrl | [DIDUrl
](#DIDUrl) |
-| relationship | [MethodRelationship
](#MethodRelationship) |
-
-
-
-### iotaDocument.detachMethodRelationship(didUrl, relationship) ⇒ boolean
-Detaches the given relationship from the given method, if the method exists.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| didUrl | [DIDUrl
](#DIDUrl) |
-| relationship | [MethodRelationship
](#MethodRelationship) |
-
-
-
-### iotaDocument.verifyJws(jws, options, [signatureVerifier], [detachedPayload]) ⇒ [DecodedJws
](#DecodedJws)
-Decodes and verifies the provided JWS according to the passed `options` and `signatureVerifier`.
- If no `signatureVerifier` argument is provided a default verifier will be used that is (only) capable of
-verifying EdDSA signatures.
-
-Regardless of which options are passed the following conditions must be met in order for a verification attempt to
-take place.
-- The JWS must be encoded according to the JWS compact serialization.
-- The `kid` value in the protected header must be an identifier of a verification method in this DID document.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| jws | [Jws
](#Jws) |
-| options | [JwsVerificationOptions
](#JwsVerificationOptions) |
-| [signatureVerifier] | IJwsVerifier
\| undefined
|
-| [detachedPayload] | string
\| undefined
|
-
-
-
-### iotaDocument.pack() ⇒ Uint8Array
-Serializes the document for inclusion in an Alias Output's state metadata
-with the default [StateMetadataEncoding](#StateMetadataEncoding).
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.packWithEncoding(encoding) ⇒ Uint8Array
-Serializes the document for inclusion in an Alias Output's state metadata.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| encoding | [StateMetadataEncoding
](#StateMetadataEncoding) |
-
-
-
-### iotaDocument.metadata() ⇒ [IotaDocumentMetadata
](#IotaDocumentMetadata)
-Returns a copy of the metadata associated with this document.
-
-NOTE: Copies all the metadata. See also `metadataCreated`, `metadataUpdated`,
-`metadataPreviousMessageId`, `metadataProof` if only a subset of the metadata required.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.metadataCreated() ⇒ [Timestamp
](#Timestamp) \| undefined
-Returns a copy of the timestamp of when the DID document was created.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setMetadataCreated(timestamp)
-Sets the timestamp of when the DID document was created.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| timestamp | [Timestamp
](#Timestamp) \| undefined
|
-
-
-
-### iotaDocument.metadataUpdated() ⇒ [Timestamp
](#Timestamp) \| undefined
-Returns a copy of the timestamp of the last DID document update.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setMetadataUpdated(timestamp)
-Sets the timestamp of the last DID document update.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| timestamp | [Timestamp
](#Timestamp) \| undefined
|
-
-
-
-### iotaDocument.metadataDeactivated() ⇒ boolean
\| undefined
-Returns a copy of the deactivated status of the DID document.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setMetadataDeactivated([deactivated])
-Sets the deactivated status of the DID document.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| [deactivated] | boolean
\| undefined
|
-
-
-
-### iotaDocument.metadataStateControllerAddress() ⇒ string
\| undefined
-Returns a copy of the Bech32-encoded state controller address, if present.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.metadataGovernorAddress() ⇒ string
\| undefined
-Returns a copy of the Bech32-encoded governor address, if present.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.setMetadataPropertyUnchecked(key, value)
-Sets a custom property in the document metadata.
-If the value is set to `null`, the custom property will be removed.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| key | string
|
-| value | any
|
-
-
-
-### iotaDocument.revokeCredentials(serviceQuery, indices)
-If the document has a [RevocationBitmap](#RevocationBitmap) service identified by `serviceQuery`,
-revoke all specified `indices`.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| serviceQuery | [DIDUrl
](#DIDUrl) \| string
|
-| indices | number
\| Array.<number>
|
-
-
-
-### iotaDocument.unrevokeCredentials(serviceQuery, indices)
-If the document has a [RevocationBitmap](#RevocationBitmap) service identified by `serviceQuery`,
-unrevoke all specified `indices`.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| serviceQuery | [DIDUrl
](#DIDUrl) \| string
|
-| indices | number
\| Array.<number>
|
-
-
-
-### iotaDocument.clone() ⇒ [IotaDocument
](#IotaDocument)
-Returns a deep clone of the [IotaDocument](#IotaDocument).
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.\_shallowCloneInternal() ⇒ [IotaDocument
](#IotaDocument)
-### Warning
-This is for internal use only. Do not rely on or call this method.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.\_strongCountInternal() ⇒ number
-### Warning
-This is for internal use only. Do not rely on or call this method.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.toJSON() ⇒ any
-Serializes to a plain JS representation.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.toCoreDocument() ⇒ [CoreDocument
](#CoreDocument)
-Transforms the [IotaDocument](#IotaDocument) to its [CoreDocument](#CoreDocument) representation.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-
-### iotaDocument.generateMethod(storage, keyType, alg, fragment, scope) ⇒ Promise.<string>
-Generate new key material in the given `storage` and insert a new verification method with the corresponding
-public key material into the DID document.
-
-- If no fragment is given the `kid` of the generated JWK is used, if it is set, otherwise an error is returned.
-- The `keyType` must be compatible with the given `storage`. `Storage`s are expected to export key type constants
-for that use case.
-
-The fragment of the generated method is returned.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| keyType | string
|
-| alg | JwsAlgorithm
|
-| fragment | string
\| undefined
|
-| scope | [MethodScope
](#MethodScope) |
-
-
-
-### iotaDocument.purgeMethod(storage, id) ⇒ Promise.<void>
-Remove the method identified by the given fragment from the document and delete the corresponding key material in
-the given `storage`.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| id | [DIDUrl
](#DIDUrl) |
-
-
-
-### ~~iotaDocument.createJwt(storage, fragment, payload, options) ⇒ [Promise.<Jws>
](#Jws)~~
-***Deprecated***
-
-Sign the `payload` according to `options` with the storage backed private key corresponding to the public key
-material in the verification method identified by the given `fragment.
-
-Upon success a string representing a JWS encoded according to the Compact JWS Serialization format is returned.
-See [RFC7515 section 3.1](https://www.rfc-editor.org/rfc/rfc7515#section-3.1).
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| payload | string
|
-| options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-
-
-
-### iotaDocument.createJws(storage, fragment, payload, options) ⇒ [Promise.<Jws>
](#Jws)
-Sign the `payload` according to `options` with the storage backed private key corresponding to the public key
-material in the verification method identified by the given `fragment.
-
-Upon success a string representing a JWS encoded according to the Compact JWS Serialization format is returned.
-See [RFC7515 section 3.1](https://www.rfc-editor.org/rfc/rfc7515#section-3.1).
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| payload | string
|
-| options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-
-
-
-### iotaDocument.createCredentialJwt(storage, fragment, credential, options, [custom_claims]) ⇒ [Promise.<Jwt>
](#Jwt)
-Produces a JWS where the payload is produced from the given `credential`
-in accordance with [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).
-
-Unless the `kid` is explicitly set in the options, the `kid` in the protected header is the `id`
-of the method identified by `fragment` and the JWS signature will be produced by the corresponding
-private key backed by the `storage` in accordance with the passed `options`.
-
-The `custom_claims` can be used to set additional claims on the resulting JWT.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| credential | [Credential
](#Credential) |
-| options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-| [custom_claims] | Record.<string, any>
\| undefined
|
-
-
-
-### iotaDocument.createPresentationJwt(storage, fragment, presentation, signature_options, presentation_options) ⇒ [Promise.<Jwt>
](#Jwt)
-Produces a JWT where the payload is produced from the given presentation.
-in accordance with [VC Data Model v1.1](https://www.w3.org/TR/vc-data-model/#json-web-token).
-
-Unless the `kid` is explicitly set in the options, the `kid` in the protected header is the `id`
-of the method identified by `fragment` and the JWS signature will be produced by the corresponding
-private key backed by the `storage` in accordance with the passed `options`.
-
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| presentation | [Presentation
](#Presentation) |
-| signature_options | [JwsSignatureOptions
](#JwsSignatureOptions) |
-| presentation_options | [JwtPresentationOptions
](#JwtPresentationOptions) |
-
-
-
-### iotaDocument.generateMethodJwp(storage, alg, fragment, scope) ⇒ Promise.<string>
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| alg | [ProofAlgorithm
](#ProofAlgorithm) |
-| fragment | string
\| undefined
|
-| scope | [MethodScope
](#MethodScope) |
-
-
-
-### iotaDocument.createIssuedJwp(storage, fragment, jpt_claims, options) ⇒ Promise.<string>
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| jpt_claims | JptClaims
|
-| options | [JwpCredentialOptions
](#JwpCredentialOptions) |
-
-
-
-### iotaDocument.createPresentedJwp(presentation, method_id, options) ⇒ Promise.<string>
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| presentation | [SelectiveDisclosurePresentation
](#SelectiveDisclosurePresentation) |
-| method_id | string
|
-| options | [JwpPresentationOptions
](#JwpPresentationOptions) |
-
-
-
-### iotaDocument.createCredentialJpt(credential, storage, fragment, options, [custom_claims]) ⇒ [Promise.<Jpt>
](#Jpt)
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| storage | [Storage
](#Storage) |
-| fragment | string
|
-| options | [JwpCredentialOptions
](#JwpCredentialOptions) |
-| [custom_claims] | Map.<string, any>
\| undefined
|
-
-
-
-### iotaDocument.createPresentationJpt(presentation, method_id, options) ⇒ [Promise.<Jpt>
](#Jpt)
-**Kind**: instance method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| presentation | [SelectiveDisclosurePresentation
](#SelectiveDisclosurePresentation) |
-| method_id | string
|
-| options | [JwpPresentationOptions
](#JwpPresentationOptions) |
-
-
-
-### IotaDocument.newWithId(id) ⇒ [IotaDocument
](#IotaDocument)
-Constructs an empty DID Document with the given identifier.
-
-**Kind**: static method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| id | [IotaDID
](#IotaDID) |
-
-
-
-### IotaDocument.unpackFromOutput(did, aliasOutput, allowEmpty) ⇒ [IotaDocument
](#IotaDocument)
-Deserializes the document from an Alias Output.
-
-If `allowEmpty` is true, this will return an empty DID document marked as `deactivated`
-if `stateMetadata` is empty.
-
-The `tokenSupply` must be equal to the token supply of the network the DID is associated with.
-
-NOTE: `did` is required since it is omitted from the serialized DID Document and
-cannot be inferred from the state metadata. It also indicates the network, which is not
-encoded in the `AliasId` alone.
-
-**Kind**: static method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| did | [IotaDID
](#IotaDID) |
-| aliasOutput | AliasOutputBuilderParams
|
-| allowEmpty | boolean
|
-
-
-
-### IotaDocument.unpackFromBlock(network, block) ⇒ [Array.<IotaDocument>
](#IotaDocument)
-Returns all DID documents of the Alias Outputs contained in the block's transaction payload
-outputs, if any.
-
-Errors if any Alias Output does not contain a valid or empty DID Document.
-
-**Kind**: static method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| network | string
|
-| block | Block
|
-
-
-
-### IotaDocument.fromJSON(json) ⇒ [IotaDocument
](#IotaDocument)
-Deserializes an instance from a plain JS representation.
-
-**Kind**: static method of [IotaDocument
](#IotaDocument)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## IotaDocumentMetadata
-Additional attributes related to an IOTA DID Document.
-
-**Kind**: global class
-
-* [IotaDocumentMetadata](#IotaDocumentMetadata)
- * _instance_
- * [.created()](#IotaDocumentMetadata+created) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.updated()](#IotaDocumentMetadata+updated) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.deactivated()](#IotaDocumentMetadata+deactivated) ⇒ boolean
\| undefined
- * [.stateControllerAddress()](#IotaDocumentMetadata+stateControllerAddress) ⇒ string
\| undefined
- * [.governorAddress()](#IotaDocumentMetadata+governorAddress) ⇒ string
\| undefined
- * [.properties()](#IotaDocumentMetadata+properties) ⇒ Map.<string, any>
- * [.toJSON()](#IotaDocumentMetadata+toJSON) ⇒ any
- * [.clone()](#IotaDocumentMetadata+clone) ⇒ [IotaDocumentMetadata
](#IotaDocumentMetadata)
- * _static_
- * [.fromJSON(json)](#IotaDocumentMetadata.fromJSON) ⇒ [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-
-### iotaDocumentMetadata.created() ⇒ [Timestamp
](#Timestamp) \| undefined
-Returns a copy of the timestamp of when the DID document was created.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.updated() ⇒ [Timestamp
](#Timestamp) \| undefined
-Returns a copy of the timestamp of the last DID document update.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.deactivated() ⇒ boolean
\| undefined
-Returns a copy of the deactivated status of the DID document.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.stateControllerAddress() ⇒ string
\| undefined
-Returns a copy of the Bech32-encoded state controller address, if present.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.governorAddress() ⇒ string
\| undefined
-Returns a copy of the Bech32-encoded governor address, if present.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.properties() ⇒ Map.<string, any>
-Returns a copy of the custom metadata properties.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### iotaDocumentMetadata.clone() ⇒ [IotaDocumentMetadata
](#IotaDocumentMetadata)
-Deep clones the object.
-
-**Kind**: instance method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-
-### IotaDocumentMetadata.fromJSON(json) ⇒ [IotaDocumentMetadata
](#IotaDocumentMetadata)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [IotaDocumentMetadata
](#IotaDocumentMetadata)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## IotaIdentityClientExt
-An extension interface that provides helper functions for publication
-and resolution of DID documents in Alias Outputs.
-
-**Kind**: global class
-
-* [IotaIdentityClientExt](#IotaIdentityClientExt)
- * [.newDidOutput(client, address, document, [rentStructure])](#IotaIdentityClientExt.newDidOutput) ⇒ Promise.<AliasOutputBuilderParams>
- * [.updateDidOutput(client, document)](#IotaIdentityClientExt.updateDidOutput) ⇒ Promise.<AliasOutputBuilderParams>
- * [.deactivateDidOutput(client, did)](#IotaIdentityClientExt.deactivateDidOutput) ⇒ Promise.<AliasOutputBuilderParams>
- * [.resolveDid(client, did)](#IotaIdentityClientExt.resolveDid) ⇒ [Promise.<IotaDocument>
](#IotaDocument)
- * [.resolveDidOutput(client, did)](#IotaIdentityClientExt.resolveDidOutput) ⇒ Promise.<AliasOutputBuilderParams>
-
-
-
-### IotaIdentityClientExt.newDidOutput(client, address, document, [rentStructure]) ⇒ Promise.<AliasOutputBuilderParams>
-Create a DID with a new Alias Output containing the given `document`.
-
-The `address` will be set as the state controller and governor unlock conditions.
-The minimum required token deposit amount will be set according to the given
-`rent_structure`, which will be fetched from the node if not provided.
-The returned Alias Output can be further customised before publication, if desired.
-
-NOTE: this does *not* publish the Alias Output.
-
-**Kind**: static method of [IotaIdentityClientExt
](#IotaIdentityClientExt)
-
-| Param | Type |
-| --- | --- |
-| client | IIotaIdentityClient
|
-| address | Address
|
-| document | [IotaDocument
](#IotaDocument) |
-| [rentStructure] | IRent
\| undefined
|
-
-
-
-### IotaIdentityClientExt.updateDidOutput(client, document) ⇒ Promise.<AliasOutputBuilderParams>
-Fetches the associated Alias Output and updates it with `document` in its state metadata.
-The storage deposit on the output is left unchanged. If the size of the document increased,
-the amount should be increased manually.
-
-NOTE: this does *not* publish the updated Alias Output.
-
-**Kind**: static method of [IotaIdentityClientExt
](#IotaIdentityClientExt)
-
-| Param | Type |
-| --- | --- |
-| client | IIotaIdentityClient
|
-| document | [IotaDocument
](#IotaDocument) |
-
-
-
-### IotaIdentityClientExt.deactivateDidOutput(client, did) ⇒ Promise.<AliasOutputBuilderParams>
-Removes the DID document from the state metadata of its Alias Output,
-effectively deactivating it. The storage deposit on the output is left unchanged,
-and should be reallocated manually.
-
-Deactivating does not destroy the output. Hence, it can be re-activated by publishing
-an update containing a DID document.
-
-NOTE: this does *not* publish the updated Alias Output.
-
-**Kind**: static method of [IotaIdentityClientExt
](#IotaIdentityClientExt)
-
-| Param | Type |
-| --- | --- |
-| client | IIotaIdentityClient
|
-| did | [IotaDID
](#IotaDID) |
-
-
-
-### IotaIdentityClientExt.resolveDid(client, did) ⇒ [Promise.<IotaDocument>
](#IotaDocument)
-Resolve a [IotaDocument](#IotaDocument). Returns an empty, deactivated document if the state metadata
-of the Alias Output is empty.
-
-**Kind**: static method of [IotaIdentityClientExt
](#IotaIdentityClientExt)
-
-| Param | Type |
-| --- | --- |
-| client | IIotaIdentityClient
|
-| did | [IotaDID
](#IotaDID) |
-
-
-
-### IotaIdentityClientExt.resolveDidOutput(client, did) ⇒ Promise.<AliasOutputBuilderParams>
-Fetches the `IAliasOutput` associated with the given DID.
-
-**Kind**: static method of [IotaIdentityClientExt
](#IotaIdentityClientExt)
-
-| Param | Type |
-| --- | --- |
-| client | IIotaIdentityClient
|
-| did | [IotaDID
](#IotaDID) |
-
-
-
-## IssuerProtectedHeader
-**Kind**: global class
-
-* [IssuerProtectedHeader](#IssuerProtectedHeader)
- * [.typ](#IssuerProtectedHeader+typ) ⇒ string
\| undefined
- * [.typ](#IssuerProtectedHeader+typ)
- * [.alg](#IssuerProtectedHeader+alg) ⇒ [ProofAlgorithm
](#ProofAlgorithm)
- * [.alg](#IssuerProtectedHeader+alg)
- * [.kid](#IssuerProtectedHeader+kid) ⇒ string
\| undefined
- * [.kid](#IssuerProtectedHeader+kid)
- * [.cid](#IssuerProtectedHeader+cid) ⇒ string
\| undefined
- * [.cid](#IssuerProtectedHeader+cid)
- * [.claims()](#IssuerProtectedHeader+claims) ⇒ Array.<string>
-
-
-
-### issuerProtectedHeader.typ ⇒ string
\| undefined
-JWP type (JPT).
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-
-### issuerProtectedHeader.typ
-JWP type (JPT).
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### issuerProtectedHeader.alg ⇒ [ProofAlgorithm
](#ProofAlgorithm)
-Algorithm used for the JWP.
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-
-### issuerProtectedHeader.alg
-Algorithm used for the JWP.
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| arg0 | [ProofAlgorithm
](#ProofAlgorithm) |
-
-
-
-### issuerProtectedHeader.kid ⇒ string
\| undefined
-ID for the key used for the JWP.
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-
-### issuerProtectedHeader.kid
-ID for the key used for the JWP.
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### issuerProtectedHeader.cid ⇒ string
\| undefined
-Not handled for now. Will be used in the future to resolve external claims
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-
-### issuerProtectedHeader.cid
-Not handled for now. Will be used in the future to resolve external claims
-
-**Kind**: instance property of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### issuerProtectedHeader.claims() ⇒ Array.<string>
-**Kind**: instance method of [IssuerProtectedHeader
](#IssuerProtectedHeader)
-
-
-## Jpt
-A JSON Proof Token (JPT).
-
-**Kind**: global class
-
-* [Jpt](#Jpt)
- * [new Jpt(jpt_string)](#new_Jpt_new)
- * [.toString()](#Jpt+toString) ⇒ string
- * [.clone()](#Jpt+clone) ⇒ [Jpt
](#Jpt)
-
-
-
-### new Jpt(jpt_string)
-Creates a new [Jpt](#Jpt).
-
-
-| Param | Type |
-| --- | --- |
-| jpt_string | string
|
-
-
-
-### jpt.toString() ⇒ string
-**Kind**: instance method of [Jpt
](#Jpt)
-
-
-### jpt.clone() ⇒ [Jpt
](#Jpt)
-Deep clones the object.
-
-**Kind**: instance method of [Jpt
](#Jpt)
-
-
-## JptCredentialValidationOptions
-Options to declare validation criteria for [Jpt](#Jpt).
-
-**Kind**: global class
-
-* [JptCredentialValidationOptions](#JptCredentialValidationOptions)
- * [new JptCredentialValidationOptions([opts])](#new_JptCredentialValidationOptions_new)
- * _instance_
- * [.clone()](#JptCredentialValidationOptions+clone) ⇒ [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
- * [.toJSON()](#JptCredentialValidationOptions+toJSON) ⇒ any
- * _static_
- * [.fromJSON(json)](#JptCredentialValidationOptions.fromJSON) ⇒ [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
-
-
-
-### new JptCredentialValidationOptions([opts])
-Creates a new default istance.
-
-
-| Param | Type |
-| --- | --- |
-| [opts] | IJptCredentialValidationOptions
\| undefined
|
-
-
-
-### jptCredentialValidationOptions.clone() ⇒ [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
-
-
-### jptCredentialValidationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
-
-
-### JptCredentialValidationOptions.fromJSON(json) ⇒ [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JptCredentialValidationOptions
](#JptCredentialValidationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JptCredentialValidator
-**Kind**: global class
-
-
-### JptCredentialValidator.validate(credential_jpt, issuer, options, fail_fast) ⇒ [DecodedJptCredential
](#DecodedJptCredential)
-**Kind**: static method of [JptCredentialValidator
](#JptCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential_jpt | [Jpt
](#Jpt) |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| options | [JptCredentialValidationOptions
](#JptCredentialValidationOptions) |
-| fail_fast | [FailFast
](#FailFast) |
-
-
-
-## JptCredentialValidatorUtils
-Utility functions for validating JPT credentials.
-
-**Kind**: global class
-
-* [JptCredentialValidatorUtils](#JptCredentialValidatorUtils)
- * [.extractIssuer(credential)](#JptCredentialValidatorUtils.extractIssuer) ⇒ [CoreDID
](#CoreDID)
- * [.extractIssuerFromIssuedJpt(credential)](#JptCredentialValidatorUtils.extractIssuerFromIssuedJpt) ⇒ [CoreDID
](#CoreDID)
- * [.checkTimeframesWithValidityTimeframe2024(credential, validity_timeframe, status_check)](#JptCredentialValidatorUtils.checkTimeframesWithValidityTimeframe2024)
- * [.checkRevocationWithValidityTimeframe2024(credential, issuer, status_check)](#JptCredentialValidatorUtils.checkRevocationWithValidityTimeframe2024)
- * [.checkTimeframesAndRevocationWithValidityTimeframe2024(credential, issuer, validity_timeframe, status_check)](#JptCredentialValidatorUtils.checkTimeframesAndRevocationWithValidityTimeframe2024)
-
-
-
-### JptCredentialValidatorUtils.extractIssuer(credential) ⇒ [CoreDID
](#CoreDID)
-Utility for extracting the issuer field of a [Credential](#Credential) as a DID.
-# Errors
-Fails if the issuer field is not a valid DID.
-
-**Kind**: static method of [JptCredentialValidatorUtils
](#JptCredentialValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-
-
-
-### JptCredentialValidatorUtils.extractIssuerFromIssuedJpt(credential) ⇒ [CoreDID
](#CoreDID)
-Utility for extracting the issuer field of a credential in JPT representation as DID.
-# Errors
-If the JPT decoding fails or the issuer field is not a valid DID.
-
-**Kind**: static method of [JptCredentialValidatorUtils
](#JptCredentialValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| credential | [Jpt
](#Jpt) |
-
-
-
-### JptCredentialValidatorUtils.checkTimeframesWithValidityTimeframe2024(credential, validity_timeframe, status_check)
-**Kind**: static method of [JptCredentialValidatorUtils
](#JptCredentialValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| validity_timeframe | [Timestamp
](#Timestamp) \| undefined
|
-| status_check | [StatusCheck
](#StatusCheck) |
-
-
-
-### JptCredentialValidatorUtils.checkRevocationWithValidityTimeframe2024(credential, issuer, status_check)
-Checks whether the credential status has been revoked.
-
-Only supports `RevocationTimeframe2024`.
-
-**Kind**: static method of [JptCredentialValidatorUtils
](#JptCredentialValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| status_check | [StatusCheck
](#StatusCheck) |
-
-
-
-### JptCredentialValidatorUtils.checkTimeframesAndRevocationWithValidityTimeframe2024(credential, issuer, validity_timeframe, status_check)
-Checks whether the credential status has been revoked or the timeframe interval is INVALID
-
-Only supports `RevocationTimeframe2024`.
-
-**Kind**: static method of [JptCredentialValidatorUtils
](#JptCredentialValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| validity_timeframe | [Timestamp
](#Timestamp) \| undefined
|
-| status_check | [StatusCheck
](#StatusCheck) |
-
-
-
-## JptPresentationValidationOptions
-Options to declare validation criteria for a [Jpt](#Jpt) presentation.
-
-**Kind**: global class
-
-* [JptPresentationValidationOptions](#JptPresentationValidationOptions)
- * [new JptPresentationValidationOptions([opts])](#new_JptPresentationValidationOptions_new)
- * _instance_
- * [.clone()](#JptPresentationValidationOptions+clone) ⇒ [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
- * [.toJSON()](#JptPresentationValidationOptions+toJSON) ⇒ any
- * _static_
- * [.fromJSON(json)](#JptPresentationValidationOptions.fromJSON) ⇒ [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
-
-
-
-### new JptPresentationValidationOptions([opts])
-
-| Param | Type |
-| --- | --- |
-| [opts] | IJptPresentationValidationOptions
\| undefined
|
-
-
-
-### jptPresentationValidationOptions.clone() ⇒ [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
-
-
-### jptPresentationValidationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
-
-
-### JptPresentationValidationOptions.fromJSON(json) ⇒ [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JptPresentationValidationOptions
](#JptPresentationValidationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JptPresentationValidator
-**Kind**: global class
-
-
-### JptPresentationValidator.validate(presentation_jpt, issuer, options, fail_fast) ⇒ [DecodedJptPresentation
](#DecodedJptPresentation)
-Decodes and validates a Presented [Credential](#Credential) issued as a JPT (JWP Presented Form). A
-[DecodedJptPresentation](#DecodedJptPresentation) is returned upon success.
-
-The following properties are validated according to `options`:
-- the holder's proof on the JWP,
-- the expiration date,
-- the issuance date,
-- the semantic structure.
-
-**Kind**: static method of [JptPresentationValidator
](#JptPresentationValidator)
-
-| Param | Type |
-| --- | --- |
-| presentation_jpt | [Jpt
](#Jpt) |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| options | [JptPresentationValidationOptions
](#JptPresentationValidationOptions) |
-| fail_fast | [FailFast
](#FailFast) |
-
-
-
-## JptPresentationValidatorUtils
-Utility functions for verifying JPT presentations.
-
-**Kind**: global class
-
-* [JptPresentationValidatorUtils](#JptPresentationValidatorUtils)
- * [.extractIssuerFromPresentedJpt(presentation)](#JptPresentationValidatorUtils.extractIssuerFromPresentedJpt) ⇒ [CoreDID
](#CoreDID)
- * [.checkTimeframesWithValidityTimeframe2024(credential, validity_timeframe, status_check)](#JptPresentationValidatorUtils.checkTimeframesWithValidityTimeframe2024)
-
-
-
-### JptPresentationValidatorUtils.extractIssuerFromPresentedJpt(presentation) ⇒ [CoreDID
](#CoreDID)
-Utility for extracting the issuer field of a credential in JPT representation as DID.
-# Errors
-If the JPT decoding fails or the issuer field is not a valid DID.
-
-**Kind**: static method of [JptPresentationValidatorUtils
](#JptPresentationValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| presentation | [Jpt
](#Jpt) |
-
-
-
-### JptPresentationValidatorUtils.checkTimeframesWithValidityTimeframe2024(credential, validity_timeframe, status_check)
-Check timeframe interval in credentialStatus with `RevocationTimeframeStatus`.
-
-**Kind**: static method of [JptPresentationValidatorUtils
](#JptPresentationValidatorUtils)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| validity_timeframe | [Timestamp
](#Timestamp) \| undefined
|
-| status_check | [StatusCheck
](#StatusCheck) |
-
-
-
-## Jwk
-**Kind**: global class
-
-* [Jwk](#Jwk)
- * [new Jwk(jwk)](#new_Jwk_new)
- * _instance_
- * [.kty()](#Jwk+kty) ⇒ JwkType
- * [.use()](#Jwk+use) ⇒ JwkUse
\| undefined
- * [.keyOps()](#Jwk+keyOps) ⇒ Array.<JwkOperation>
- * [.alg()](#Jwk+alg) ⇒ JwsAlgorithm
\| undefined
- * [.kid()](#Jwk+kid) ⇒ string
\| undefined
- * [.x5u()](#Jwk+x5u) ⇒ string
\| undefined
- * [.x5c()](#Jwk+x5c) ⇒ Array.<string>
- * [.x5t()](#Jwk+x5t) ⇒ string
\| undefined
- * [.x5t256()](#Jwk+x5t256) ⇒ string
\| undefined
- * [.paramsEc()](#Jwk+paramsEc) ⇒ JwkParamsEc
\| undefined
- * [.paramsOkp()](#Jwk+paramsOkp) ⇒ JwkParamsOkp
\| undefined
- * [.paramsOct()](#Jwk+paramsOct) ⇒ JwkParamsOct
\| undefined
- * [.paramsRsa()](#Jwk+paramsRsa) ⇒ JwkParamsRsa
\| undefined
- * [.toPublic()](#Jwk+toPublic) ⇒ [Jwk
](#Jwk) \| undefined
- * [.isPublic()](#Jwk+isPublic) ⇒ boolean
- * [.isPrivate()](#Jwk+isPrivate) ⇒ boolean
- * [.toJSON()](#Jwk+toJSON) ⇒ any
- * [.clone()](#Jwk+clone) ⇒ [Jwk
](#Jwk)
- * _static_
- * [.fromJSON(json)](#Jwk.fromJSON) ⇒ [Jwk
](#Jwk)
-
-
-
-### new Jwk(jwk)
-
-| Param | Type |
-| --- | --- |
-| jwk | IJwkParams
|
-
-
-
-### jwk.kty() ⇒ JwkType
-Returns the value for the key type parameter (kty).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.use() ⇒ JwkUse
\| undefined
-Returns the value for the use property (use).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.keyOps() ⇒ Array.<JwkOperation>
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.alg() ⇒ JwsAlgorithm
\| undefined
-Returns the value for the algorithm property (alg).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.kid() ⇒ string
\| undefined
-Returns the value of the key ID property (kid).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.x5u() ⇒ string
\| undefined
-Returns the value of the X.509 URL property (x5u).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.x5c() ⇒ Array.<string>
-Returns the value of the X.509 certificate chain property (x5c).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.x5t() ⇒ string
\| undefined
-Returns the value of the X.509 certificate SHA-1 thumbprint property (x5t).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.x5t256() ⇒ string
\| undefined
-Returns the value of the X.509 certificate SHA-256 thumbprint property (x5t#S256).
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.paramsEc() ⇒ JwkParamsEc
\| undefined
-If this JWK is of kty EC, returns those parameters.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.paramsOkp() ⇒ JwkParamsOkp
\| undefined
-If this JWK is of kty OKP, returns those parameters.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.paramsOct() ⇒ JwkParamsOct
\| undefined
-If this JWK is of kty OCT, returns those parameters.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.paramsRsa() ⇒ JwkParamsRsa
\| undefined
-If this JWK is of kty RSA, returns those parameters.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.toPublic() ⇒ [Jwk
](#Jwk) \| undefined
-Returns a clone of the [Jwk](#Jwk) with _all_ private key components unset.
-Nothing is returned when `kty = oct` as this key type is not considered public by this library.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.isPublic() ⇒ boolean
-Returns `true` if _all_ private key components of the key are unset, `false` otherwise.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.isPrivate() ⇒ boolean
-Returns `true` if _all_ private key components of the key are set, `false` otherwise.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### jwk.clone() ⇒ [Jwk
](#Jwk)
-Deep clones the object.
-
-**Kind**: instance method of [Jwk
](#Jwk)
-
-
-### Jwk.fromJSON(json) ⇒ [Jwk
](#Jwk)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Jwk
](#Jwk)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwkGenOutput
-The result of a key generation in `JwkStorage`.
-
-**Kind**: global class
-
-* [JwkGenOutput](#JwkGenOutput)
- * [new JwkGenOutput(key_id, jwk)](#new_JwkGenOutput_new)
- * _instance_
- * [.jwk()](#JwkGenOutput+jwk) ⇒ [Jwk
](#Jwk)
- * [.keyId()](#JwkGenOutput+keyId) ⇒ string
- * [.toJSON()](#JwkGenOutput+toJSON) ⇒ any
- * [.clone()](#JwkGenOutput+clone) ⇒ [JwkGenOutput
](#JwkGenOutput)
- * _static_
- * [.fromJSON(json)](#JwkGenOutput.fromJSON) ⇒ [JwkGenOutput
](#JwkGenOutput)
-
-
-
-### new JwkGenOutput(key_id, jwk)
-
-| Param | Type |
-| --- | --- |
-| key_id | string
|
-| jwk | [Jwk
](#Jwk) |
-
-
-
-### jwkGenOutput.jwk() ⇒ [Jwk
](#Jwk)
-Returns the generated public [Jwk](#Jwk).
-
-**Kind**: instance method of [JwkGenOutput
](#JwkGenOutput)
-
-
-### jwkGenOutput.keyId() ⇒ string
-Returns the key id of the generated [Jwk](#Jwk).
-
-**Kind**: instance method of [JwkGenOutput
](#JwkGenOutput)
-
-
-### jwkGenOutput.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwkGenOutput
](#JwkGenOutput)
-
-
-### jwkGenOutput.clone() ⇒ [JwkGenOutput
](#JwkGenOutput)
-Deep clones the object.
-
-**Kind**: instance method of [JwkGenOutput
](#JwkGenOutput)
-
-
-### JwkGenOutput.fromJSON(json) ⇒ [JwkGenOutput
](#JwkGenOutput)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwkGenOutput
](#JwkGenOutput)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwpCredentialOptions
-**Kind**: global class
-
-* [JwpCredentialOptions](#JwpCredentialOptions)
- * _instance_
- * [.kid](#JwpCredentialOptions+kid) ⇒ string
\| undefined
- * [.kid](#JwpCredentialOptions+kid)
- * [.toJSON()](#JwpCredentialOptions+toJSON) ⇒ any
- * _static_
- * [.fromJSON(value)](#JwpCredentialOptions.fromJSON) ⇒ [JwpCredentialOptions
](#JwpCredentialOptions)
-
-
-
-### jwpCredentialOptions.kid ⇒ string
\| undefined
-**Kind**: instance property of [JwpCredentialOptions
](#JwpCredentialOptions)
-
-
-### jwpCredentialOptions.kid
-**Kind**: instance property of [JwpCredentialOptions
](#JwpCredentialOptions)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### jwpCredentialOptions.toJSON() ⇒ any
-**Kind**: instance method of [JwpCredentialOptions
](#JwpCredentialOptions)
-
-
-### JwpCredentialOptions.fromJSON(value) ⇒ [JwpCredentialOptions
](#JwpCredentialOptions)
-**Kind**: static method of [JwpCredentialOptions
](#JwpCredentialOptions)
-
-| Param | Type |
-| --- | --- |
-| value | any
|
-
-
-
-## JwpIssued
-**Kind**: global class
-
-* [JwpIssued](#JwpIssued)
- * _instance_
- * [.toJSON()](#JwpIssued+toJSON) ⇒ any
- * [.clone()](#JwpIssued+clone) ⇒ [JwpIssued
](#JwpIssued)
- * [.encode(serialization)](#JwpIssued+encode) ⇒ string
- * [.setProof(proof)](#JwpIssued+setProof)
- * [.getProof()](#JwpIssued+getProof) ⇒ Uint8Array
- * [.getPayloads()](#JwpIssued+getPayloads) ⇒ [Payloads
](#Payloads)
- * [.setPayloads(payloads)](#JwpIssued+setPayloads)
- * [.getIssuerProtectedHeader()](#JwpIssued+getIssuerProtectedHeader) ⇒ [IssuerProtectedHeader
](#IssuerProtectedHeader)
- * _static_
- * [.fromJSON(json)](#JwpIssued.fromJSON) ⇒ [JwpIssued
](#JwpIssued)
-
-
-
-### jwpIssued.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-
-### jwpIssued.clone() ⇒ [JwpIssued
](#JwpIssued)
-Deep clones the object.
-
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-
-### jwpIssued.encode(serialization) ⇒ string
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-| Param | Type |
-| --- | --- |
-| serialization | [SerializationType
](#SerializationType) |
-
-
-
-### jwpIssued.setProof(proof)
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-| Param | Type |
-| --- | --- |
-| proof | Uint8Array
|
-
-
-
-### jwpIssued.getProof() ⇒ Uint8Array
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-
-### jwpIssued.getPayloads() ⇒ [Payloads
](#Payloads)
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-
-### jwpIssued.setPayloads(payloads)
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-| Param | Type |
-| --- | --- |
-| payloads | [Payloads
](#Payloads) |
-
-
-
-### jwpIssued.getIssuerProtectedHeader() ⇒ [IssuerProtectedHeader
](#IssuerProtectedHeader)
-**Kind**: instance method of [JwpIssued
](#JwpIssued)
-
-
-### JwpIssued.fromJSON(json) ⇒ [JwpIssued
](#JwpIssued)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwpIssued
](#JwpIssued)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwpPresentationOptions
-Options to be set in the JWT claims of a verifiable presentation.
-
-**Kind**: global class
-
-* [JwpPresentationOptions](#JwpPresentationOptions)
- * [.audience](#JwpPresentationOptions+audience) ⇒ string
\| undefined
- * [.audience](#JwpPresentationOptions+audience)
- * [.nonce](#JwpPresentationOptions+nonce) ⇒ string
\| undefined
- * [.nonce](#JwpPresentationOptions+nonce)
-
-
-
-### jwpPresentationOptions.audience ⇒ string
\| undefined
-Sets the audience for presentation (`aud` property in JWP Presentation Header).
-
-**Kind**: instance property of [JwpPresentationOptions
](#JwpPresentationOptions)
-
-
-### jwpPresentationOptions.audience
-Sets the audience for presentation (`aud` property in JWP Presentation Header).
-
-**Kind**: instance property of [JwpPresentationOptions
](#JwpPresentationOptions)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### jwpPresentationOptions.nonce ⇒ string
\| undefined
-The nonce to be placed in the Presentation Protected Header.
-
-**Kind**: instance property of [JwpPresentationOptions
](#JwpPresentationOptions)
-
-
-### jwpPresentationOptions.nonce
-The nonce to be placed in the Presentation Protected Header.
-
-**Kind**: instance property of [JwpPresentationOptions
](#JwpPresentationOptions)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-## JwpVerificationOptions
-**Kind**: global class
-
-* [JwpVerificationOptions](#JwpVerificationOptions)
- * _instance_
- * [.clone()](#JwpVerificationOptions+clone) ⇒ [JwpVerificationOptions
](#JwpVerificationOptions)
- * [.toJSON()](#JwpVerificationOptions+toJSON) ⇒ any
- * _static_
- * [.fromJSON(json)](#JwpVerificationOptions.fromJSON) ⇒ [JwpVerificationOptions
](#JwpVerificationOptions)
- * [.new([opts])](#JwpVerificationOptions.new) ⇒ [JwpVerificationOptions
](#JwpVerificationOptions)
-
-
-
-### jwpVerificationOptions.clone() ⇒ [JwpVerificationOptions
](#JwpVerificationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JwpVerificationOptions
](#JwpVerificationOptions)
-
-
-### jwpVerificationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwpVerificationOptions
](#JwpVerificationOptions)
-
-
-### JwpVerificationOptions.fromJSON(json) ⇒ [JwpVerificationOptions
](#JwpVerificationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwpVerificationOptions
](#JwpVerificationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-### JwpVerificationOptions.new([opts]) ⇒ [JwpVerificationOptions
](#JwpVerificationOptions)
-**Kind**: static method of [JwpVerificationOptions
](#JwpVerificationOptions)
-
-| Param | Type |
-| --- | --- |
-| [opts] | IJwpVerificationOptions
\| undefined
|
-
-
-
-## Jws
-A wrapper around a JSON Web Signature (JWS).
-
-**Kind**: global class
-
-* [Jws](#Jws)
- * [new Jws(jws_string)](#new_Jws_new)
- * [.toString()](#Jws+toString) ⇒ string
-
-
-
-### new Jws(jws_string)
-Creates a new [Jws](#Jws) from the given string.
-
-
-| Param | Type |
-| --- | --- |
-| jws_string | string
|
-
-
-
-### jws.toString() ⇒ string
-Returns a clone of the JWS string.
-
-**Kind**: instance method of [Jws
](#Jws)
-
-
-## JwsHeader
-**Kind**: global class
-
-* [JwsHeader](#JwsHeader)
- * [new JwsHeader()](#new_JwsHeader_new)
- * _instance_
- * [.alg()](#JwsHeader+alg) ⇒ JwsAlgorithm
\| undefined
- * [.setAlg(value)](#JwsHeader+setAlg)
- * [.b64()](#JwsHeader+b64) ⇒ boolean
\| undefined
- * [.setB64(value)](#JwsHeader+setB64)
- * [.custom()](#JwsHeader+custom) ⇒ Record.<string, any>
\| undefined
- * [.has(claim)](#JwsHeader+has) ⇒ boolean
- * [.isDisjoint(other)](#JwsHeader+isDisjoint) ⇒ boolean
- * [.jku()](#JwsHeader+jku) ⇒ string
\| undefined
- * [.setJku(value)](#JwsHeader+setJku)
- * [.jwk()](#JwsHeader+jwk) ⇒ [Jwk
](#Jwk) \| undefined
- * [.setJwk(value)](#JwsHeader+setJwk)
- * [.kid()](#JwsHeader+kid) ⇒ string
\| undefined
- * [.setKid(value)](#JwsHeader+setKid)
- * [.x5u()](#JwsHeader+x5u) ⇒ string
\| undefined
- * [.setX5u(value)](#JwsHeader+setX5u)
- * [.x5c()](#JwsHeader+x5c) ⇒ Array.<string>
- * [.setX5c(value)](#JwsHeader+setX5c)
- * [.x5t()](#JwsHeader+x5t) ⇒ string
\| undefined
- * [.setX5t(value)](#JwsHeader+setX5t)
- * [.x5tS256()](#JwsHeader+x5tS256) ⇒ string
\| undefined
- * [.setX5tS256(value)](#JwsHeader+setX5tS256)
- * [.typ()](#JwsHeader+typ) ⇒ string
\| undefined
- * [.setTyp(value)](#JwsHeader+setTyp)
- * [.cty()](#JwsHeader+cty) ⇒ string
\| undefined
- * [.setCty(value)](#JwsHeader+setCty)
- * [.crit()](#JwsHeader+crit) ⇒ Array.<string>
- * [.setCrit(value)](#JwsHeader+setCrit)
- * [.url()](#JwsHeader+url) ⇒ string
\| undefined
- * [.setUrl(value)](#JwsHeader+setUrl)
- * [.nonce()](#JwsHeader+nonce) ⇒ string
\| undefined
- * [.setNonce(value)](#JwsHeader+setNonce)
- * [.toJSON()](#JwsHeader+toJSON) ⇒ any
- * [.clone()](#JwsHeader+clone) ⇒ [JwsHeader
](#JwsHeader)
- * _static_
- * [.fromJSON(json)](#JwsHeader.fromJSON) ⇒ [JwsHeader
](#JwsHeader)
-
-
-
-### new JwsHeader()
-Create a new empty [JwsHeader](#JwsHeader).
-
-
-
-### jwsHeader.alg() ⇒ JwsAlgorithm
\| undefined
-Returns the value for the algorithm claim (alg).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setAlg(value)
-Sets a value for the algorithm claim (alg).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | JwsAlgorithm
|
-
-
-
-### jwsHeader.b64() ⇒ boolean
\| undefined
-Returns the value of the base64url-encode payload claim (b64).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setB64(value)
-Sets a value for the base64url-encode payload claim (b64).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | boolean
|
-
-
-
-### jwsHeader.custom() ⇒ Record.<string, any>
\| undefined
-Additional header parameters.
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.has(claim) ⇒ boolean
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| claim | string
|
-
-
-
-### jwsHeader.isDisjoint(other) ⇒ boolean
-Returns `true` if none of the fields are set in both `self` and `other`.
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| other | [JwsHeader
](#JwsHeader) |
-
-
-
-### jwsHeader.jku() ⇒ string
\| undefined
-Returns the value of the JWK Set URL claim (jku).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setJku(value)
-Sets a value for the JWK Set URL claim (jku).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.jwk() ⇒ [Jwk
](#Jwk) \| undefined
-Returns the value of the JWK claim (jwk).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setJwk(value)
-Sets a value for the JWK claim (jwk).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | [Jwk
](#Jwk) |
-
-
-
-### jwsHeader.kid() ⇒ string
\| undefined
-Returns the value of the key ID claim (kid).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setKid(value)
-Sets a value for the key ID claim (kid).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.x5u() ⇒ string
\| undefined
-Returns the value of the X.509 URL claim (x5u).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setX5u(value)
-Sets a value for the X.509 URL claim (x5u).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.x5c() ⇒ Array.<string>
-Returns the value of the X.509 certificate chain claim (x5c).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setX5c(value)
-Sets values for the X.509 certificate chain claim (x5c).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | Array.<string>
|
-
-
-
-### jwsHeader.x5t() ⇒ string
\| undefined
-Returns the value of the X.509 certificate SHA-1 thumbprint claim (x5t).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setX5t(value)
-Sets a value for the X.509 certificate SHA-1 thumbprint claim (x5t).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.x5tS256() ⇒ string
\| undefined
-Returns the value of the X.509 certificate SHA-256 thumbprint claim
-(x5t#S256).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setX5tS256(value)
-Sets a value for the X.509 certificate SHA-256 thumbprint claim
-(x5t#S256).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.typ() ⇒ string
\| undefined
-Returns the value of the token type claim (typ).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setTyp(value)
-Sets a value for the token type claim (typ).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.cty() ⇒ string
\| undefined
-Returns the value of the content type claim (cty).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setCty(value)
-Sets a value for the content type claim (cty).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.crit() ⇒ Array.<string>
-Returns the value of the critical claim (crit).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setCrit(value)
-Sets values for the critical claim (crit).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | Array.<string>
|
-
-
-
-### jwsHeader.url() ⇒ string
\| undefined
-Returns the value of the url claim (url).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setUrl(value)
-Sets a value for the url claim (url).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.nonce() ⇒ string
\| undefined
-Returns the value of the nonce claim (nonce).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.setNonce(value)
-Sets a value for the nonce claim (nonce).
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsHeader.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### jwsHeader.clone() ⇒ [JwsHeader
](#JwsHeader)
-Deep clones the object.
-
-**Kind**: instance method of [JwsHeader
](#JwsHeader)
-
-
-### JwsHeader.fromJSON(json) ⇒ [JwsHeader
](#JwsHeader)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwsHeader
](#JwsHeader)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwsSignatureOptions
-**Kind**: global class
-
-* [JwsSignatureOptions](#JwsSignatureOptions)
- * [new JwsSignatureOptions([options])](#new_JwsSignatureOptions_new)
- * _instance_
- * [.setAttachJwk(value)](#JwsSignatureOptions+setAttachJwk)
- * [.setB64(value)](#JwsSignatureOptions+setB64)
- * [.setTyp(value)](#JwsSignatureOptions+setTyp)
- * [.setCty(value)](#JwsSignatureOptions+setCty)
- * [.serUrl(value)](#JwsSignatureOptions+serUrl)
- * [.setNonce(value)](#JwsSignatureOptions+setNonce)
- * [.setKid(value)](#JwsSignatureOptions+setKid)
- * [.setDetachedPayload(value)](#JwsSignatureOptions+setDetachedPayload)
- * [.setCustomHeaderParameters(value)](#JwsSignatureOptions+setCustomHeaderParameters)
- * [.toJSON()](#JwsSignatureOptions+toJSON) ⇒ any
- * [.clone()](#JwsSignatureOptions+clone) ⇒ [JwsSignatureOptions
](#JwsSignatureOptions)
- * _static_
- * [.fromJSON(json)](#JwsSignatureOptions.fromJSON) ⇒ [JwsSignatureOptions
](#JwsSignatureOptions)
-
-
-
-### new JwsSignatureOptions([options])
-
-| Param | Type |
-| --- | --- |
-| [options] | IJwsSignatureOptions
\| undefined
|
-
-
-
-### jwsSignatureOptions.setAttachJwk(value)
-Replace the value of the `attachJwk` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | boolean
|
-
-
-
-### jwsSignatureOptions.setB64(value)
-Replace the value of the `b64` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | boolean
|
-
-
-
-### jwsSignatureOptions.setTyp(value)
-Replace the value of the `typ` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsSignatureOptions.setCty(value)
-Replace the value of the `cty` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsSignatureOptions.serUrl(value)
-Replace the value of the `url` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsSignatureOptions.setNonce(value)
-Replace the value of the `nonce` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsSignatureOptions.setKid(value)
-Replace the value of the `kid` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsSignatureOptions.setDetachedPayload(value)
-Replace the value of the `detached_payload` field.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | boolean
|
-
-
-
-### jwsSignatureOptions.setCustomHeaderParameters(value)
-Add additional header parameters.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| value | Record.<string, any>
|
-
-
-
-### jwsSignatureOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-
-### jwsSignatureOptions.clone() ⇒ [JwsSignatureOptions
](#JwsSignatureOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-
-### JwsSignatureOptions.fromJSON(json) ⇒ [JwsSignatureOptions
](#JwsSignatureOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwsSignatureOptions
](#JwsSignatureOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwsVerificationOptions
-**Kind**: global class
-
-* [JwsVerificationOptions](#JwsVerificationOptions)
- * [new JwsVerificationOptions([options])](#new_JwsVerificationOptions_new)
- * _instance_
- * [.setNonce(value)](#JwsVerificationOptions+setNonce)
- * [.setMethodScope(value)](#JwsVerificationOptions+setMethodScope)
- * [.setMethodId(value)](#JwsVerificationOptions+setMethodId)
- * [.toJSON()](#JwsVerificationOptions+toJSON) ⇒ any
- * [.clone()](#JwsVerificationOptions+clone) ⇒ [JwsVerificationOptions
](#JwsVerificationOptions)
- * _static_
- * [.fromJSON(json)](#JwsVerificationOptions.fromJSON) ⇒ [JwsVerificationOptions
](#JwsVerificationOptions)
-
-
-
-### new JwsVerificationOptions([options])
-Creates a new [JwsVerificationOptions](#JwsVerificationOptions) from the given fields.
-
-
-| Param | Type |
-| --- | --- |
-| [options] | IJwsVerificationOptions
\| undefined
|
-
-
-
-### jwsVerificationOptions.setNonce(value)
-Set the expected value for the `nonce` parameter of the protected header.
-
-**Kind**: instance method of [JwsVerificationOptions
](#JwsVerificationOptions)
-
-| Param | Type |
-| --- | --- |
-| value | string
|
-
-
-
-### jwsVerificationOptions.setMethodScope(value)
-Set the scope of the verification methods that may be used to verify the given JWS.
-
-**Kind**: instance method of [JwsVerificationOptions
](#JwsVerificationOptions)
-
-| Param | Type |
-| --- | --- |
-| value | [MethodScope
](#MethodScope) |
-
-
-
-### jwsVerificationOptions.setMethodId(value)
-Set the DID URl of the method, whose JWK should be used to verify the JWS.
-
-**Kind**: instance method of [JwsVerificationOptions
](#JwsVerificationOptions)
-
-| Param | Type |
-| --- | --- |
-| value | [DIDUrl
](#DIDUrl) |
-
-
-
-### jwsVerificationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwsVerificationOptions
](#JwsVerificationOptions)
-
-
-### jwsVerificationOptions.clone() ⇒ [JwsVerificationOptions
](#JwsVerificationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JwsVerificationOptions
](#JwsVerificationOptions)
-
-
-### JwsVerificationOptions.fromJSON(json) ⇒ [JwsVerificationOptions
](#JwsVerificationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwsVerificationOptions
](#JwsVerificationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## Jwt
-A wrapper around a JSON Web Token (JWK).
-
-**Kind**: global class
-
-* [Jwt](#Jwt)
- * [new Jwt(jwt_string)](#new_Jwt_new)
- * _instance_
- * [.toString()](#Jwt+toString) ⇒ string
- * [.toJSON()](#Jwt+toJSON) ⇒ any
- * [.clone()](#Jwt+clone) ⇒ [Jwt
](#Jwt)
- * _static_
- * [.fromJSON(json)](#Jwt.fromJSON) ⇒ [Jwt
](#Jwt)
-
-
-
-### new Jwt(jwt_string)
-Creates a new [Jwt](#Jwt) from the given string.
-
-
-| Param | Type |
-| --- | --- |
-| jwt_string | string
|
-
-
-
-### jwt.toString() ⇒ string
-Returns a clone of the JWT string.
-
-**Kind**: instance method of [Jwt
](#Jwt)
-
-
-### jwt.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Jwt
](#Jwt)
-
-
-### jwt.clone() ⇒ [Jwt
](#Jwt)
-Deep clones the object.
-
-**Kind**: instance method of [Jwt
](#Jwt)
-
-
-### Jwt.fromJSON(json) ⇒ [Jwt
](#Jwt)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Jwt
](#Jwt)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwtCredentialValidationOptions
-Options to declare validation criteria when validating credentials.
-
-**Kind**: global class
-
-* [JwtCredentialValidationOptions](#JwtCredentialValidationOptions)
- * [new JwtCredentialValidationOptions([options])](#new_JwtCredentialValidationOptions_new)
- * _instance_
- * [.toJSON()](#JwtCredentialValidationOptions+toJSON) ⇒ any
- * [.clone()](#JwtCredentialValidationOptions+clone) ⇒ [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
- * _static_
- * [.fromJSON(json)](#JwtCredentialValidationOptions.fromJSON) ⇒ [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
-
-
-
-### new JwtCredentialValidationOptions([options])
-
-| Param | Type |
-| --- | --- |
-| [options] | IJwtCredentialValidationOptions
\| undefined
|
-
-
-
-### jwtCredentialValidationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
-
-
-### jwtCredentialValidationOptions.clone() ⇒ [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
-
-
-### JwtCredentialValidationOptions.fromJSON(json) ⇒ [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwtCredentialValidator
-A type for decoding and validating [Credential](#Credential).
-
-**Kind**: global class
-
-* [JwtCredentialValidator](#JwtCredentialValidator)
- * [new JwtCredentialValidator([signatureVerifier])](#new_JwtCredentialValidator_new)
- * _instance_
- * [.validate(credential_jwt, issuer, options, fail_fast)](#JwtCredentialValidator+validate) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
- * [.verifySignature(credential, trustedIssuers, options)](#JwtCredentialValidator+verifySignature) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
- * _static_
- * [.checkExpiresOnOrAfter(credential, timestamp)](#JwtCredentialValidator.checkExpiresOnOrAfter)
- * [.checkIssuedOnOrBefore(credential, timestamp)](#JwtCredentialValidator.checkIssuedOnOrBefore)
- * [.checkSubjectHolderRelationship(credential, holder, relationship)](#JwtCredentialValidator.checkSubjectHolderRelationship)
- * [.checkStatus(credential, trustedIssuers, statusCheck)](#JwtCredentialValidator.checkStatus)
- * [.checkStatusWithStatusList2021(credential, status_list, status_check)](#JwtCredentialValidator.checkStatusWithStatusList2021)
- * [.extractIssuer(credential)](#JwtCredentialValidator.extractIssuer) ⇒ [CoreDID
](#CoreDID)
- * [.extractIssuerFromJwt(credential)](#JwtCredentialValidator.extractIssuerFromJwt) ⇒ [CoreDID
](#CoreDID)
-
-
-
-### new JwtCredentialValidator([signatureVerifier])
-Creates a new [JwtCredentialValidator](#JwtCredentialValidator). If a `signatureVerifier` is provided it will be used when
-verifying decoded JWS signatures, otherwise the default which is only capable of handling the `EdDSA`
-algorithm will be used.
-
-
-| Param | Type |
-| --- | --- |
-| [signatureVerifier] | IJwsVerifier
\| undefined
|
-
-
-
-### jwtCredentialValidator.validate(credential_jwt, issuer, options, fail_fast) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
-Decodes and validates a [Credential](#Credential) issued as a JWS. A [DecodedJwtCredential](#DecodedJwtCredential) is returned upon
-success.
-
-The following properties are validated according to `options`:
-- the issuer's signature on the JWS,
-- the expiration date,
-- the issuance date,
-- the semantic structure.
-
-# Warning
-The lack of an error returned from this method is in of itself not enough to conclude that the credential can be
-trusted. This section contains more information on additional checks that should be carried out before and after
-calling this method.
-
-## The state of the issuer's DID Document
-The caller must ensure that `issuer` represents an up-to-date DID Document.
-
-## Properties that are not validated
- There are many properties defined in [The Verifiable Credentials Data Model](https://www.w3.org/TR/vc-data-model/) that are **not** validated, such as:
-`proof`, `credentialStatus`, `type`, `credentialSchema`, `refreshService` **and more**.
-These should be manually checked after validation, according to your requirements.
-
-# Errors
-An error is returned whenever a validated condition is not satisfied.
-
-**Kind**: instance method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential_jwt | [Jwt
](#Jwt) |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| options | [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions) |
-| fail_fast | [FailFast
](#FailFast) |
-
-
-
-### jwtCredentialValidator.verifySignature(credential, trustedIssuers, options) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
-Decode and verify the JWS signature of a [Credential](#Credential) issued as a JWT using the DID Document of a trusted
-issuer.
-
-A [DecodedJwtCredential](#DecodedJwtCredential) is returned upon success.
-
-# Warning
-The caller must ensure that the DID Documents of the trusted issuers are up-to-date.
-
-## Proofs
- Only the JWS signature is verified. If the [Credential](#Credential) contains a `proof` property this will not be
-verified by this method.
-
-# Errors
-This method immediately returns an error if
-the credential issuer' url cannot be parsed to a DID belonging to one of the trusted issuers. Otherwise an attempt
-to verify the credential's signature will be made and an error is returned upon failure.
-
-**Kind**: instance method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Jwt
](#Jwt) |
-| trustedIssuers | Array.<(CoreDocument\|IToCoreDocument)>
|
-| options | [JwsVerificationOptions
](#JwsVerificationOptions) |
-
-
-
-### JwtCredentialValidator.checkExpiresOnOrAfter(credential, timestamp)
-Validate that the credential expires on or after the specified timestamp.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| timestamp | [Timestamp
](#Timestamp) |
-
-
-
-### JwtCredentialValidator.checkIssuedOnOrBefore(credential, timestamp)
-Validate that the credential is issued on or before the specified timestamp.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| timestamp | [Timestamp
](#Timestamp) |
-
-
-
-### JwtCredentialValidator.checkSubjectHolderRelationship(credential, holder, relationship)
-Validate that the relationship between the `holder` and the credential subjects is in accordance with
-`relationship`. The `holder` parameter is expected to be the URL of the holder.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| holder | string
|
-| relationship | [SubjectHolderRelationship
](#SubjectHolderRelationship) |
-
-
-
-### JwtCredentialValidator.checkStatus(credential, trustedIssuers, statusCheck)
-Checks whether the credential status has been revoked.
-
-Only supports `RevocationBitmap2022`.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| trustedIssuers | Array.<(CoreDocument\|IToCoreDocument)>
|
-| statusCheck | [StatusCheck
](#StatusCheck) |
-
-
-
-### JwtCredentialValidator.checkStatusWithStatusList2021(credential, status_list, status_check)
-Checks wheter the credential status has been revoked using `StatusList2021`.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| status_list | [StatusList2021Credential
](#StatusList2021Credential) |
-| status_check | [StatusCheck
](#StatusCheck) |
-
-
-
-### JwtCredentialValidator.extractIssuer(credential) ⇒ [CoreDID
](#CoreDID)
-Utility for extracting the issuer field of a [Credential](#Credential) as a DID.
-
-### Errors
-
-Fails if the issuer field is not a valid DID.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-
-
-
-### JwtCredentialValidator.extractIssuerFromJwt(credential) ⇒ [CoreDID
](#CoreDID)
-Utility for extracting the issuer field of a credential in JWT representation as DID.
-
-# Errors
-
-If the JWT decoding fails or the issuer field is not a valid DID.
-
-**Kind**: static method of [JwtCredentialValidator
](#JwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [Jwt
](#Jwt) |
-
-
-
-## JwtDomainLinkageValidator
-A validator for a Domain Linkage Configuration and Credentials.
-
-**Kind**: global class
-
-* [JwtDomainLinkageValidator](#JwtDomainLinkageValidator)
- * [new JwtDomainLinkageValidator([signatureVerifier])](#new_JwtDomainLinkageValidator_new)
- * [.validateLinkage(issuer, configuration, domain, options)](#JwtDomainLinkageValidator+validateLinkage)
- * [.validateCredential(issuer, credentialJwt, domain, options)](#JwtDomainLinkageValidator+validateCredential)
-
-
-
-### new JwtDomainLinkageValidator([signatureVerifier])
-Creates a new [JwtDomainLinkageValidator](#JwtDomainLinkageValidator). If a `signatureVerifier` is provided it will be used when
-verifying decoded JWS signatures, otherwise the default which is capable of handling the `EdDSA`, `ES256`, `ES256K`
-algorithms will be used.
-
-
-| Param | Type |
-| --- | --- |
-| [signatureVerifier] | IJwsVerifier
\| undefined
|
-
-
-
-### jwtDomainLinkageValidator.validateLinkage(issuer, configuration, domain, options)
-Validates the linkage between a domain and a DID.
-[DomainLinkageConfiguration](#DomainLinkageConfiguration) is validated according to [DID Configuration Resource Verification](https://identity.foundation/.well-known/resources/did-configuration/#did-configuration-resource-verification).
-
-Linkage is valid if no error is thrown.
-
-# Note:
-- Only the [JSON Web Token Proof Format](https://identity.foundation/.well-known/resources/did-configuration/#json-web-token-proof-format)
- is supported.
-- Only the Credential issued by `issuer` is verified.
-
-# Errors
-
- - Semantic structure of `configuration` is invalid.
- - `configuration` includes multiple credentials issued by `issuer`.
- - Validation of the matched Domain Linkage Credential fails.
-
-**Kind**: instance method of [JwtDomainLinkageValidator
](#JwtDomainLinkageValidator)
-
-| Param | Type |
-| --- | --- |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| configuration | [DomainLinkageConfiguration
](#DomainLinkageConfiguration) |
-| domain | string
|
-| options | [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions) |
-
-
-
-### jwtDomainLinkageValidator.validateCredential(issuer, credentialJwt, domain, options)
-Validates a [Domain Linkage Credential](https://identity.foundation/.well-known/resources/did-configuration/#domain-linkage-credential).
-
-Error will be thrown in case the validation fails.
-
-**Kind**: instance method of [JwtDomainLinkageValidator
](#JwtDomainLinkageValidator)
-
-| Param | Type |
-| --- | --- |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| credentialJwt | [Jwt
](#Jwt) |
-| domain | string
|
-| options | [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions) |
-
-
-
-## JwtPresentationOptions
-**Kind**: global class
-
-* [JwtPresentationOptions](#JwtPresentationOptions)
- * [new JwtPresentationOptions([options])](#new_JwtPresentationOptions_new)
- * _instance_
- * [.toJSON()](#JwtPresentationOptions+toJSON) ⇒ any
- * [.clone()](#JwtPresentationOptions+clone) ⇒ [JwtPresentationOptions
](#JwtPresentationOptions)
- * _static_
- * [.fromJSON(json)](#JwtPresentationOptions.fromJSON) ⇒ [JwtPresentationOptions
](#JwtPresentationOptions)
-
-
-
-### new JwtPresentationOptions([options])
-Creates a new [JwtPresentationOptions](#JwtPresentationOptions) from the given fields.
-
-Throws an error if any of the options are invalid.
-
-
-| Param | Type |
-| --- | --- |
-| [options] | IJwtPresentationOptions
\| undefined
|
-
-
-
-### jwtPresentationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwtPresentationOptions
](#JwtPresentationOptions)
-
-
-### jwtPresentationOptions.clone() ⇒ [JwtPresentationOptions
](#JwtPresentationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JwtPresentationOptions
](#JwtPresentationOptions)
-
-
-### JwtPresentationOptions.fromJSON(json) ⇒ [JwtPresentationOptions
](#JwtPresentationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwtPresentationOptions
](#JwtPresentationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwtPresentationValidationOptions
-Options to declare validation criteria when validating presentation.
-
-**Kind**: global class
-
-* [JwtPresentationValidationOptions](#JwtPresentationValidationOptions)
- * [new JwtPresentationValidationOptions([options])](#new_JwtPresentationValidationOptions_new)
- * _instance_
- * [.toJSON()](#JwtPresentationValidationOptions+toJSON) ⇒ any
- * [.clone()](#JwtPresentationValidationOptions+clone) ⇒ [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
- * _static_
- * [.fromJSON(json)](#JwtPresentationValidationOptions.fromJSON) ⇒ [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
-
-
-
-### new JwtPresentationValidationOptions([options])
-Creates a new [JwtPresentationValidationOptions](#JwtPresentationValidationOptions) from the given fields.
-
-Throws an error if any of the options are invalid.
-
-
-| Param | Type |
-| --- | --- |
-| [options] | IJwtPresentationValidationOptions
\| undefined
|
-
-
-
-### jwtPresentationValidationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
-
-
-### jwtPresentationValidationOptions.clone() ⇒ [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
-
-
-### JwtPresentationValidationOptions.fromJSON(json) ⇒ [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## JwtPresentationValidator
-**Kind**: global class
-
-* [JwtPresentationValidator](#JwtPresentationValidator)
- * [new JwtPresentationValidator([signatureVerifier])](#new_JwtPresentationValidator_new)
- * _instance_
- * [.validate(presentationJwt, holder, validation_options)](#JwtPresentationValidator+validate) ⇒ [DecodedJwtPresentation
](#DecodedJwtPresentation)
- * _static_
- * [.checkStructure(presentation)](#JwtPresentationValidator.checkStructure)
- * [.extractHolder(presentation)](#JwtPresentationValidator.extractHolder) ⇒ [CoreDID
](#CoreDID)
-
-
-
-### new JwtPresentationValidator([signatureVerifier])
-Creates a new [JwtPresentationValidator](#JwtPresentationValidator). If a `signatureVerifier` is provided it will be used when
-verifying decoded JWS signatures, otherwise the default which is only capable of handling the `EdDSA`
-algorithm will be used.
-
-
-| Param | Type |
-| --- | --- |
-| [signatureVerifier] | IJwsVerifier
\| undefined
|
-
-
-
-### jwtPresentationValidator.validate(presentationJwt, holder, validation_options) ⇒ [DecodedJwtPresentation
](#DecodedJwtPresentation)
-Validates a [Presentation](#Presentation) encoded as a [Jwt](#Jwt).
-
-The following properties are validated according to `options`:
-- the JWT can be decoded into a semantically valid presentation.
-- the expiration and issuance date contained in the JWT claims.
-- the holder's signature.
-
-Validation is done with respect to the properties set in `options`.
-
-# Warning
-
-* This method does NOT validate the constituent credentials and therefore also not the relationship between the
-credentials' subjects and the presentation holder. This can be done with [JwtCredentialValidationOptions](#JwtCredentialValidationOptions).
-* The lack of an error returned from this method is in of itself not enough to conclude that the presentation can
-be trusted. This section contains more information on additional checks that should be carried out before and
-after calling this method.
-
-## The state of the supplied DID Documents.
-
-The caller must ensure that the DID Documents in `holder` are up-to-date.
-
-# Errors
-
-An error is returned whenever a validated condition is not satisfied or when decoding fails.
-
-**Kind**: instance method of [JwtPresentationValidator
](#JwtPresentationValidator)
-
-| Param | Type |
-| --- | --- |
-| presentationJwt | [Jwt
](#Jwt) |
-| holder | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| validation_options | [JwtPresentationValidationOptions
](#JwtPresentationValidationOptions) |
-
-
-
-### JwtPresentationValidator.checkStructure(presentation)
-Validates the semantic structure of the [Presentation](#Presentation).
-
-**Kind**: static method of [JwtPresentationValidator
](#JwtPresentationValidator)
-
-| Param | Type |
-| --- | --- |
-| presentation | [Presentation
](#Presentation) |
-
-
-
-### JwtPresentationValidator.extractHolder(presentation) ⇒ [CoreDID
](#CoreDID)
-Attempt to extract the holder of the presentation.
-
-# Errors:
-* If deserialization/decoding of the presentation fails.
-* If the holder can't be parsed as DIDs.
-
-**Kind**: static method of [JwtPresentationValidator
](#JwtPresentationValidator)
-
-| Param | Type |
-| --- | --- |
-| presentation | [Jwt
](#Jwt) |
-
-
-
-## KeyBindingJWTValidationOptions
-Options to declare validation criteria when validating credentials.
-
-**Kind**: global class
-
-* [KeyBindingJWTValidationOptions](#KeyBindingJWTValidationOptions)
- * [new KeyBindingJWTValidationOptions([options])](#new_KeyBindingJWTValidationOptions_new)
- * _instance_
- * [.toJSON()](#KeyBindingJWTValidationOptions+toJSON) ⇒ any
- * [.clone()](#KeyBindingJWTValidationOptions+clone) ⇒ [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
- * _static_
- * [.fromJSON(json)](#KeyBindingJWTValidationOptions.fromJSON) ⇒ [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
-
-
-
-### new KeyBindingJWTValidationOptions([options])
-
-| Param | Type |
-| --- | --- |
-| [options] | IKeyBindingJWTValidationOptions
\| undefined
|
-
-
-
-### keyBindingJWTValidationOptions.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
-
-
-### keyBindingJWTValidationOptions.clone() ⇒ [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
-Deep clones the object.
-
-**Kind**: instance method of [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
-
-
-### KeyBindingJWTValidationOptions.fromJSON(json) ⇒ [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## KeyBindingJwtClaims
-Claims set for key binding JWT.
-
-**Kind**: global class
-
-* [KeyBindingJwtClaims](#KeyBindingJwtClaims)
- * [new KeyBindingJwtClaims(jwt, disclosures, nonce, aud, [issued_at], [custom_properties])](#new_KeyBindingJwtClaims_new)
- * _instance_
- * [.toString()](#KeyBindingJwtClaims+toString) ⇒ string
- * [.iat()](#KeyBindingJwtClaims+iat) ⇒ bigint
- * [.aud()](#KeyBindingJwtClaims+aud) ⇒ string
- * [.nonce()](#KeyBindingJwtClaims+nonce) ⇒ string
- * [.sdHash()](#KeyBindingJwtClaims+sdHash) ⇒ string
- * [.customProperties()](#KeyBindingJwtClaims+customProperties) ⇒ Record.<string, any>
- * [.toJSON()](#KeyBindingJwtClaims+toJSON) ⇒ any
- * [.clone()](#KeyBindingJwtClaims+clone) ⇒ [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
- * _static_
- * [.keyBindingJwtHeaderTyp()](#KeyBindingJwtClaims.keyBindingJwtHeaderTyp) ⇒ string
- * [.fromJSON(json)](#KeyBindingJwtClaims.fromJSON) ⇒ [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-
-### new KeyBindingJwtClaims(jwt, disclosures, nonce, aud, [issued_at], [custom_properties])
-Creates a new [`KeyBindingJwtClaims`].
-When `issued_at` is left as None, it will automatically default to the current time.
-
-# Error
-When `issued_at` is set to `None` and the system returns time earlier than `SystemTime::UNIX_EPOCH`.
-
-
-| Param | Type |
-| --- | --- |
-| jwt | string
|
-| disclosures | Array.<string>
|
-| nonce | string
|
-| aud | string
|
-| [issued_at] | [Timestamp
](#Timestamp) \| undefined
|
-| [custom_properties] | Record.<string, any>
\| undefined
|
-
-
-
-### keyBindingJwtClaims.toString() ⇒ string
-Returns a string representation of the claims.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.iat() ⇒ bigint
-Returns a copy of the issued at `iat` property.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.aud() ⇒ string
-Returns a copy of the audience `aud` property.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.nonce() ⇒ string
-Returns a copy of the `nonce` property.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.sdHash() ⇒ string
-Returns a copy of the `sd_hash` property.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.customProperties() ⇒ Record.<string, any>
-Returns a copy of the custom properties.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### keyBindingJwtClaims.clone() ⇒ [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-Deep clones the object.
-
-**Kind**: instance method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### KeyBindingJwtClaims.keyBindingJwtHeaderTyp() ⇒ string
-Returns the value of the `typ` property of the JWT header according to
-https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-07.html#name-key-binding-jwt
-
-**Kind**: static method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-### KeyBindingJwtClaims.fromJSON(json) ⇒ [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## LinkedDomainService
-**Kind**: global class
-
-* [LinkedDomainService](#LinkedDomainService)
- * [new LinkedDomainService(options)](#new_LinkedDomainService_new)
- * _instance_
- * [.domains()](#LinkedDomainService+domains) ⇒ Array.<string>
- * [.toService()](#LinkedDomainService+toService) ⇒ [Service
](#Service)
- * [.clone()](#LinkedDomainService+clone) ⇒ [LinkedDomainService
](#LinkedDomainService)
- * _static_
- * [.fromService(service)](#LinkedDomainService.fromService) ⇒ [LinkedDomainService
](#LinkedDomainService)
- * [.isValid(service)](#LinkedDomainService.isValid) ⇒ boolean
-
-
-
-### new LinkedDomainService(options)
-Constructs a new [LinkedDomainService](#LinkedDomainService) that wraps a spec compliant [Linked Domain Service Endpoint](https://identity.foundation/.well-known/resources/did-configuration/#linked-domain-service-endpoint).
-
-Domain URLs must include the `https` scheme in order to pass the domain linkage validation.
-
-
-| Param | Type |
-| --- | --- |
-| options | ILinkedDomainService
|
-
-
-
-### linkedDomainService.domains() ⇒ Array.<string>
-Returns the domains contained in the Linked Domain Service.
-
-**Kind**: instance method of [LinkedDomainService
](#LinkedDomainService)
-
-
-### linkedDomainService.toService() ⇒ [Service
](#Service)
-Returns the inner service which can be added to a DID Document.
-
-**Kind**: instance method of [LinkedDomainService
](#LinkedDomainService)
-
-
-### linkedDomainService.clone() ⇒ [LinkedDomainService
](#LinkedDomainService)
-Deep clones the object.
-
-**Kind**: instance method of [LinkedDomainService
](#LinkedDomainService)
-
-
-### LinkedDomainService.fromService(service) ⇒ [LinkedDomainService
](#LinkedDomainService)
-Creates a new [LinkedDomainService](#LinkedDomainService) from a [Service](#Service).
-
-# Error
-
-Errors if `service` is not a valid Linked Domain Service.
-
-**Kind**: static method of [LinkedDomainService
](#LinkedDomainService)
-
-| Param | Type |
-| --- | --- |
-| service | [Service
](#Service) |
-
-
-
-### LinkedDomainService.isValid(service) ⇒ boolean
-Returns `true` if a [Service](#Service) is a valid Linked Domain Service.
-
-**Kind**: static method of [LinkedDomainService
](#LinkedDomainService)
-
-| Param | Type |
-| --- | --- |
-| service | [Service
](#Service) |
-
-
-
-## MethodData
-Supported verification method data formats.
-
-**Kind**: global class
-
-* [MethodData](#MethodData)
- * _instance_
- * [.tryCustom()](#MethodData+tryCustom) ⇒ [CustomMethodData
](#CustomMethodData)
- * [.tryDecode()](#MethodData+tryDecode) ⇒ Uint8Array
- * [.tryPublicKeyJwk()](#MethodData+tryPublicKeyJwk) ⇒ [Jwk
](#Jwk)
- * [.toJSON()](#MethodData+toJSON) ⇒ any
- * [.clone()](#MethodData+clone) ⇒ [MethodData
](#MethodData)
- * _static_
- * [.newBase58(data)](#MethodData.newBase58) ⇒ [MethodData
](#MethodData)
- * [.newMultibase(data)](#MethodData.newMultibase) ⇒ [MethodData
](#MethodData)
- * [.newJwk(key)](#MethodData.newJwk) ⇒ [MethodData
](#MethodData)
- * [.newCustom(name, data)](#MethodData.newCustom) ⇒ [MethodData
](#MethodData)
- * [.fromJSON(json)](#MethodData.fromJSON) ⇒ [MethodData
](#MethodData)
-
-
-
-### methodData.tryCustom() ⇒ [CustomMethodData
](#CustomMethodData)
-Returns the wrapped custom method data format is `Custom`.
-
-**Kind**: instance method of [MethodData
](#MethodData)
-
-
-### methodData.tryDecode() ⇒ Uint8Array
-Returns a `Uint8Array` containing the decoded bytes of the [MethodData](#MethodData).
-
-This is generally a public key identified by a [MethodData](#MethodData) value.
-
-### Errors
-Decoding can fail if [MethodData](#MethodData) has invalid content or cannot be
-represented as a vector of bytes.
-
-**Kind**: instance method of [MethodData
](#MethodData)
-
-
-### methodData.tryPublicKeyJwk() ⇒ [Jwk
](#Jwk)
-Returns the wrapped [Jwk](#Jwk) if the format is `PublicKeyJwk`.
-
-**Kind**: instance method of [MethodData
](#MethodData)
-
-
-### methodData.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [MethodData
](#MethodData)
-
-
-### methodData.clone() ⇒ [MethodData
](#MethodData)
-Deep clones the object.
-
-**Kind**: instance method of [MethodData
](#MethodData)
-
-
-### MethodData.newBase58(data) ⇒ [MethodData
](#MethodData)
-Creates a new [MethodData](#MethodData) variant with Base58-BTC encoded content.
-
-**Kind**: static method of [MethodData
](#MethodData)
-
-| Param | Type |
-| --- | --- |
-| data | Uint8Array
|
-
-
-
-### MethodData.newMultibase(data) ⇒ [MethodData
](#MethodData)
-Creates a new [MethodData](#MethodData) variant with Multibase-encoded content.
-
-**Kind**: static method of [MethodData
](#MethodData)
-
-| Param | Type |
-| --- | --- |
-| data | Uint8Array
|
-
-
-
-### MethodData.newJwk(key) ⇒ [MethodData
](#MethodData)
-Creates a new [MethodData](#MethodData) variant consisting of the given `key`.
-
-### Errors
-An error is thrown if the given `key` contains any private components.
-
-**Kind**: static method of [MethodData
](#MethodData)
-
-| Param | Type |
-| --- | --- |
-| key | [Jwk
](#Jwk) |
-
-
-
-### MethodData.newCustom(name, data) ⇒ [MethodData
](#MethodData)
-Creates a new custom [MethodData](#MethodData).
-
-**Kind**: static method of [MethodData
](#MethodData)
-
-| Param | Type |
-| --- | --- |
-| name | string
|
-| data | any
|
-
-
-
-### MethodData.fromJSON(json) ⇒ [MethodData
](#MethodData)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [MethodData
](#MethodData)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## MethodDigest
-Unique identifier of a [VerificationMethod](#VerificationMethod).
-
-NOTE:
-This class does not have a JSON representation,
-use the methods `pack` and `unpack` instead.
-
-**Kind**: global class
-
-* [MethodDigest](#MethodDigest)
- * [new MethodDigest(verification_method)](#new_MethodDigest_new)
- * _instance_
- * [.pack()](#MethodDigest+pack) ⇒ Uint8Array
- * [.clone()](#MethodDigest+clone) ⇒ [MethodDigest
](#MethodDigest)
- * _static_
- * [.unpack(bytes)](#MethodDigest.unpack) ⇒ [MethodDigest
](#MethodDigest)
-
-
-
-### new MethodDigest(verification_method)
-
-| Param | Type |
-| --- | --- |
-| verification_method | [VerificationMethod
](#VerificationMethod) |
-
-
-
-### methodDigest.pack() ⇒ Uint8Array
-Packs [MethodDigest](#MethodDigest) into bytes.
-
-**Kind**: instance method of [MethodDigest
](#MethodDigest)
-
-
-### methodDigest.clone() ⇒ [MethodDigest
](#MethodDigest)
-Deep clones the object.
-
-**Kind**: instance method of [MethodDigest
](#MethodDigest)
-
-
-### MethodDigest.unpack(bytes) ⇒ [MethodDigest
](#MethodDigest)
-Unpacks bytes into [MethodDigest](#MethodDigest).
-
-**Kind**: static method of [MethodDigest
](#MethodDigest)
-
-| Param | Type |
-| --- | --- |
-| bytes | Uint8Array
|
-
-
-
-## MethodScope
-Supported verification method types.
-
-**Kind**: global class
-
-* [MethodScope](#MethodScope)
- * _instance_
- * [.toString()](#MethodScope+toString) ⇒ string
- * [.toJSON()](#MethodScope+toJSON) ⇒ any
- * [.clone()](#MethodScope+clone) ⇒ [MethodScope
](#MethodScope)
- * _static_
- * [.VerificationMethod()](#MethodScope.VerificationMethod) ⇒ [MethodScope
](#MethodScope)
- * [.Authentication()](#MethodScope.Authentication) ⇒ [MethodScope
](#MethodScope)
- * [.AssertionMethod()](#MethodScope.AssertionMethod) ⇒ [MethodScope
](#MethodScope)
- * [.KeyAgreement()](#MethodScope.KeyAgreement) ⇒ [MethodScope
](#MethodScope)
- * [.CapabilityDelegation()](#MethodScope.CapabilityDelegation) ⇒ [MethodScope
](#MethodScope)
- * [.CapabilityInvocation()](#MethodScope.CapabilityInvocation) ⇒ [MethodScope
](#MethodScope)
- * [.fromJSON(json)](#MethodScope.fromJSON) ⇒ [MethodScope
](#MethodScope)
-
-
-
-### methodScope.toString() ⇒ string
-Returns the [MethodScope](#MethodScope) as a string.
-
-**Kind**: instance method of [MethodScope
](#MethodScope)
-
-
-### methodScope.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [MethodScope
](#MethodScope)
-
-
-### methodScope.clone() ⇒ [MethodScope
](#MethodScope)
-Deep clones the object.
-
-**Kind**: instance method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.VerificationMethod() ⇒ [MethodScope
](#MethodScope)
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.Authentication() ⇒ [MethodScope
](#MethodScope)
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.AssertionMethod() ⇒ [MethodScope
](#MethodScope)
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.KeyAgreement() ⇒ [MethodScope
](#MethodScope)
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.CapabilityDelegation() ⇒ [MethodScope
](#MethodScope)
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.CapabilityInvocation() ⇒ [MethodScope
](#MethodScope)
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-
-### MethodScope.fromJSON(json) ⇒ [MethodScope
](#MethodScope)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [MethodScope
](#MethodScope)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## MethodType
-Supported verification method types.
-
-**Kind**: global class
-
-* [MethodType](#MethodType)
- * _instance_
- * [.toString()](#MethodType+toString) ⇒ string
- * [.toJSON()](#MethodType+toJSON) ⇒ any
- * [.clone()](#MethodType+clone) ⇒ [MethodType
](#MethodType)
- * _static_
- * [.Ed25519VerificationKey2018()](#MethodType.Ed25519VerificationKey2018) ⇒ [MethodType
](#MethodType)
- * [.X25519KeyAgreementKey2019()](#MethodType.X25519KeyAgreementKey2019) ⇒ [MethodType
](#MethodType)
- * ~~[.JsonWebKey()](#MethodType.JsonWebKey)~~
- * [.JsonWebKey2020()](#MethodType.JsonWebKey2020) ⇒ [MethodType
](#MethodType)
- * [.custom(type_)](#MethodType.custom) ⇒ [MethodType
](#MethodType)
- * [.fromJSON(json)](#MethodType.fromJSON) ⇒ [MethodType
](#MethodType)
-
-
-
-### methodType.toString() ⇒ string
-Returns the [MethodType](#MethodType) as a string.
-
-**Kind**: instance method of [MethodType
](#MethodType)
-
-
-### methodType.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [MethodType
](#MethodType)
-
-
-### methodType.clone() ⇒ [MethodType
](#MethodType)
-Deep clones the object.
-
-**Kind**: instance method of [MethodType
](#MethodType)
-
-
-### MethodType.Ed25519VerificationKey2018() ⇒ [MethodType
](#MethodType)
-**Kind**: static method of [MethodType
](#MethodType)
-
-
-### MethodType.X25519KeyAgreementKey2019() ⇒ [MethodType
](#MethodType)
-**Kind**: static method of [MethodType
](#MethodType)
-
-
-### ~~MethodType.JsonWebKey()~~
-***Deprecated***
-
-**Kind**: static method of [MethodType
](#MethodType)
-
-
-### MethodType.JsonWebKey2020() ⇒ [MethodType
](#MethodType)
-A verification method for use with JWT verification as prescribed by the [Jwk](#Jwk)
-in the `publicKeyJwk` entry.
-
-**Kind**: static method of [MethodType
](#MethodType)
-
-
-### MethodType.custom(type_) ⇒ [MethodType
](#MethodType)
-A custom method.
-
-**Kind**: static method of [MethodType
](#MethodType)
-
-| Param | Type |
-| --- | --- |
-| type_ | string
|
-
-
-
-### MethodType.fromJSON(json) ⇒ [MethodType
](#MethodType)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [MethodType
](#MethodType)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## PayloadEntry
-**Kind**: global class
-
-* [PayloadEntry](#PayloadEntry)
- * [.1](#PayloadEntry+1) ⇒ [PayloadType
](#PayloadType)
- * [.1](#PayloadEntry+1)
- * [.value](#PayloadEntry+value)
- * [.value](#PayloadEntry+value) ⇒ any
-
-
-
-### payloadEntry.1 ⇒ [PayloadType
](#PayloadType)
-**Kind**: instance property of [PayloadEntry
](#PayloadEntry)
-
-
-### payloadEntry.1
-**Kind**: instance property of [PayloadEntry
](#PayloadEntry)
-
-| Param | Type |
-| --- | --- |
-| arg0 | [PayloadType
](#PayloadType) |
-
-
-
-### payloadEntry.value
-**Kind**: instance property of [PayloadEntry
](#PayloadEntry)
-
-| Param | Type |
-| --- | --- |
-| value | any
|
-
-
-
-### payloadEntry.value ⇒ any
-**Kind**: instance property of [PayloadEntry
](#PayloadEntry)
-
-
-## Payloads
-**Kind**: global class
-
-* [Payloads](#Payloads)
- * [new Payloads(entries)](#new_Payloads_new)
- * _instance_
- * [.toJSON()](#Payloads+toJSON) ⇒ any
- * [.clone()](#Payloads+clone) ⇒ [Payloads
](#Payloads)
- * [.getValues()](#Payloads+getValues) ⇒ Array.<any>
- * [.getUndisclosedIndexes()](#Payloads+getUndisclosedIndexes) ⇒ Uint32Array
- * [.getDisclosedIndexes()](#Payloads+getDisclosedIndexes) ⇒ Uint32Array
- * [.getUndisclosedPayloads()](#Payloads+getUndisclosedPayloads) ⇒ Array.<any>
- * [.getDisclosedPayloads()](#Payloads+getDisclosedPayloads) ⇒ [Payloads
](#Payloads)
- * [.setUndisclosed(index)](#Payloads+setUndisclosed)
- * [.replacePayloadAtIndex(index, value)](#Payloads+replacePayloadAtIndex) ⇒ any
- * _static_
- * [.fromJSON(json)](#Payloads.fromJSON) ⇒ [Payloads
](#Payloads)
- * [.newFromValues(values)](#Payloads.newFromValues) ⇒ [Payloads
](#Payloads)
-
-
-
-### new Payloads(entries)
-
-| Param | Type |
-| --- | --- |
-| entries | [Array.<PayloadEntry>
](#PayloadEntry) |
-
-
-
-### payloads.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.clone() ⇒ [Payloads
](#Payloads)
-Deep clones the object.
-
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.getValues() ⇒ Array.<any>
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.getUndisclosedIndexes() ⇒ Uint32Array
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.getDisclosedIndexes() ⇒ Uint32Array
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.getUndisclosedPayloads() ⇒ Array.<any>
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.getDisclosedPayloads() ⇒ [Payloads
](#Payloads)
-**Kind**: instance method of [Payloads
](#Payloads)
-
-
-### payloads.setUndisclosed(index)
-**Kind**: instance method of [Payloads
](#Payloads)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-
-
-
-### payloads.replacePayloadAtIndex(index, value) ⇒ any
-**Kind**: instance method of [Payloads
](#Payloads)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-| value | any
|
-
-
-
-### Payloads.fromJSON(json) ⇒ [Payloads
](#Payloads)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Payloads
](#Payloads)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-### Payloads.newFromValues(values) ⇒ [Payloads
](#Payloads)
-**Kind**: static method of [Payloads
](#Payloads)
-
-| Param | Type |
-| --- | --- |
-| values | Array.<any>
|
-
-
-
-## Presentation
-**Kind**: global class
-
-* [Presentation](#Presentation)
- * [new Presentation(values)](#new_Presentation_new)
- * _instance_
- * [.context()](#Presentation+context) ⇒ Array.<(string\|Record.<string, any>)>
- * [.id()](#Presentation+id) ⇒ string
\| undefined
- * [.type()](#Presentation+type) ⇒ Array.<string>
- * [.verifiableCredential()](#Presentation+verifiableCredential) ⇒ [Array.<UnknownCredential>
](#UnknownCredential)
- * [.holder()](#Presentation+holder) ⇒ string
- * [.refreshService()](#Presentation+refreshService) ⇒ Array.<RefreshService>
- * [.termsOfUse()](#Presentation+termsOfUse) ⇒ Array.<Policy>
- * [.proof()](#Presentation+proof) ⇒ [Proof
](#Proof) \| undefined
- * [.setProof([proof])](#Presentation+setProof)
- * [.properties()](#Presentation+properties) ⇒ Map.<string, any>
- * [.toJSON()](#Presentation+toJSON) ⇒ any
- * [.clone()](#Presentation+clone) ⇒ [Presentation
](#Presentation)
- * _static_
- * [.BaseContext()](#Presentation.BaseContext) ⇒ string
- * [.BaseType()](#Presentation.BaseType) ⇒ string
- * [.fromJSON(json)](#Presentation.fromJSON) ⇒ [Presentation
](#Presentation)
-
-
-
-### new Presentation(values)
-Constructs a new presentation.
-
-
-| Param | Type |
-| --- | --- |
-| values | IPresentation
|
-
-
-
-### presentation.context() ⇒ Array.<(string\|Record.<string, any>)>
-Returns a copy of the JSON-LD context(s) applicable to the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.id() ⇒ string
\| undefined
-Returns a copy of the unique `URI` identifying the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.type() ⇒ Array.<string>
-Returns a copy of the URIs defining the type of the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.verifiableCredential() ⇒ [Array.<UnknownCredential>
](#UnknownCredential)
-Returns the JWT credentials expressing the claims of the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.holder() ⇒ string
-Returns a copy of the URI of the entity that generated the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.refreshService() ⇒ Array.<RefreshService>
-Returns a copy of the service(s) used to refresh an expired [Credential](#Credential) in the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.termsOfUse() ⇒ Array.<Policy>
-Returns a copy of the terms-of-use specified by the presentation holder
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.proof() ⇒ [Proof
](#Proof) \| undefined
-Optional cryptographic proof, unrelated to JWT.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.setProof([proof])
-Sets the proof property of the [Presentation](#Presentation).
-
-Note that this proof is not related to JWT.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-| Param | Type |
-| --- | --- |
-| [proof] | [Proof
](#Proof) \| undefined
|
-
-
-
-### presentation.properties() ⇒ Map.<string, any>
-Returns a copy of the miscellaneous properties on the presentation.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### presentation.clone() ⇒ [Presentation
](#Presentation)
-Deep clones the object.
-
-**Kind**: instance method of [Presentation
](#Presentation)
-
-
-### Presentation.BaseContext() ⇒ string
-Returns the base JSON-LD context.
-
-**Kind**: static method of [Presentation
](#Presentation)
-
-
-### Presentation.BaseType() ⇒ string
-Returns the base type.
-
-**Kind**: static method of [Presentation
](#Presentation)
-
-
-### Presentation.fromJSON(json) ⇒ [Presentation
](#Presentation)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Presentation
](#Presentation)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## PresentationProtectedHeader
-**Kind**: global class
-
-* [PresentationProtectedHeader](#PresentationProtectedHeader)
- * [.alg](#PresentationProtectedHeader+alg) ⇒ [PresentationProofAlgorithm
](#PresentationProofAlgorithm)
- * [.alg](#PresentationProtectedHeader+alg)
- * [.kid](#PresentationProtectedHeader+kid) ⇒ string
\| undefined
- * [.kid](#PresentationProtectedHeader+kid)
- * [.aud](#PresentationProtectedHeader+aud) ⇒ string
\| undefined
- * [.aud](#PresentationProtectedHeader+aud)
- * [.nonce](#PresentationProtectedHeader+nonce) ⇒ string
\| undefined
- * [.nonce](#PresentationProtectedHeader+nonce)
-
-
-
-### presentationProtectedHeader.alg ⇒ [PresentationProofAlgorithm
](#PresentationProofAlgorithm)
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-
-### presentationProtectedHeader.alg
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| arg0 | [PresentationProofAlgorithm
](#PresentationProofAlgorithm) |
-
-
-
-### presentationProtectedHeader.kid ⇒ string
\| undefined
-ID for the key used for the JWP.
-
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-
-### presentationProtectedHeader.kid
-ID for the key used for the JWP.
-
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### presentationProtectedHeader.aud ⇒ string
\| undefined
-Who have received the JPT.
-
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-
-### presentationProtectedHeader.aud
-Who have received the JPT.
-
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-### presentationProtectedHeader.nonce ⇒ string
\| undefined
-For replay attacks.
-
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-
-### presentationProtectedHeader.nonce
-For replay attacks.
-
-**Kind**: instance property of [PresentationProtectedHeader
](#PresentationProtectedHeader)
-
-| Param | Type |
-| --- | --- |
-| [arg0] | string
\| undefined
|
-
-
-
-## Proof
-Represents a cryptographic proof that can be used to validate verifiable credentials and
-presentations.
-
-This representation does not inherently implement any standard; instead, it
-can be utilized to implement standards or user-defined proofs. The presence of the
-`type` field is necessary to accommodate different types of cryptographic proofs.
-
-Note that this proof is not related to JWT and can be used in combination or as an alternative
-to it.
-
-**Kind**: global class
-
-* [Proof](#Proof)
- * [new Proof(type_, properties)](#new_Proof_new)
- * _instance_
- * [.type()](#Proof+type) ⇒ string
- * [.properties()](#Proof+properties) ⇒ any
- * [.toJSON()](#Proof+toJSON) ⇒ any
- * [.clone()](#Proof+clone) ⇒ [Proof
](#Proof)
- * _static_
- * [.fromJSON(json)](#Proof.fromJSON) ⇒ [Proof
](#Proof)
-
-
-
-### new Proof(type_, properties)
-
-| Param | Type |
-| --- | --- |
-| type_ | string
|
-| properties | any
|
-
-
-
-### proof.type() ⇒ string
-Returns the type of proof.
-
-**Kind**: instance method of [Proof
](#Proof)
-
-
-### proof.properties() ⇒ any
-Returns the properties of the proof.
-
-**Kind**: instance method of [Proof
](#Proof)
-
-
-### proof.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Proof
](#Proof)
-
-
-### proof.clone() ⇒ [Proof
](#Proof)
-Deep clones the object.
-
-**Kind**: instance method of [Proof
](#Proof)
-
-
-### Proof.fromJSON(json) ⇒ [Proof
](#Proof)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Proof
](#Proof)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## ProofUpdateCtx
-**Kind**: global class
-
-* [ProofUpdateCtx](#ProofUpdateCtx)
- * [.old_start_validity_timeframe](#ProofUpdateCtx+old_start_validity_timeframe) ⇒ Uint8Array
- * [.old_start_validity_timeframe](#ProofUpdateCtx+old_start_validity_timeframe)
- * [.new_start_validity_timeframe](#ProofUpdateCtx+new_start_validity_timeframe) ⇒ Uint8Array
- * [.new_start_validity_timeframe](#ProofUpdateCtx+new_start_validity_timeframe)
- * [.old_end_validity_timeframe](#ProofUpdateCtx+old_end_validity_timeframe) ⇒ Uint8Array
- * [.old_end_validity_timeframe](#ProofUpdateCtx+old_end_validity_timeframe)
- * [.new_end_validity_timeframe](#ProofUpdateCtx+new_end_validity_timeframe) ⇒ Uint8Array
- * [.new_end_validity_timeframe](#ProofUpdateCtx+new_end_validity_timeframe)
- * [.index_start_validity_timeframe](#ProofUpdateCtx+index_start_validity_timeframe) ⇒ number
- * [.index_start_validity_timeframe](#ProofUpdateCtx+index_start_validity_timeframe)
- * [.index_end_validity_timeframe](#ProofUpdateCtx+index_end_validity_timeframe) ⇒ number
- * [.index_end_validity_timeframe](#ProofUpdateCtx+index_end_validity_timeframe)
- * [.number_of_signed_messages](#ProofUpdateCtx+number_of_signed_messages) ⇒ number
- * [.number_of_signed_messages](#ProofUpdateCtx+number_of_signed_messages)
-
-
-
-### proofUpdateCtx.old\_start\_validity\_timeframe ⇒ Uint8Array
-Old `startValidityTimeframe` value
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.old\_start\_validity\_timeframe
-Old `startValidityTimeframe` value
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | Uint8Array
|
-
-
-
-### proofUpdateCtx.new\_start\_validity\_timeframe ⇒ Uint8Array
-New `startValidityTimeframe` value to be signed
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.new\_start\_validity\_timeframe
-New `startValidityTimeframe` value to be signed
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | Uint8Array
|
-
-
-
-### proofUpdateCtx.old\_end\_validity\_timeframe ⇒ Uint8Array
-Old `endValidityTimeframe` value
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.old\_end\_validity\_timeframe
-Old `endValidityTimeframe` value
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | Uint8Array
|
-
-
-
-### proofUpdateCtx.new\_end\_validity\_timeframe ⇒ Uint8Array
-New `endValidityTimeframe` value to be signed
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.new\_end\_validity\_timeframe
-New `endValidityTimeframe` value to be signed
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | Uint8Array
|
-
-
-
-### proofUpdateCtx.index\_start\_validity\_timeframe ⇒ number
-Index of `startValidityTimeframe` claim inside the array of Claims
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.index\_start\_validity\_timeframe
-Index of `startValidityTimeframe` claim inside the array of Claims
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | number
|
-
-
-
-### proofUpdateCtx.index\_end\_validity\_timeframe ⇒ number
-Index of `endValidityTimeframe` claim inside the array of Claims
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.index\_end\_validity\_timeframe
-Index of `endValidityTimeframe` claim inside the array of Claims
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | number
|
-
-
-
-### proofUpdateCtx.number\_of\_signed\_messages ⇒ number
-Number of signed messages, number of payloads in a JWP
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-
-### proofUpdateCtx.number\_of\_signed\_messages
-Number of signed messages, number of payloads in a JWP
-
-**Kind**: instance property of [ProofUpdateCtx
](#ProofUpdateCtx)
-
-| Param | Type |
-| --- | --- |
-| arg0 | number
|
-
-
-
-## Resolver
-Convenience type for resolving DID documents from different DID methods.
-
-Also provides methods for resolving DID Documents associated with
-verifiable [Credential](#Credential)s and [Presentation](#Presentation)s.
-
-# Configuration
-
-The resolver will only be able to resolve DID documents for methods it has been configured for in the constructor.
-
-**Kind**: global class
-
-* [Resolver](#Resolver)
- * [new Resolver(config)](#new_Resolver_new)
- * [.resolve(did)](#Resolver+resolve) ⇒ Promise.<(CoreDocument\|IToCoreDocument)>
- * [.resolveMultiple(dids)](#Resolver+resolveMultiple) ⇒ Promise.<Array.<(CoreDocument\|IToCoreDocument)>>
-
-
-
-### new Resolver(config)
-Constructs a new [Resolver](#Resolver).
-
-# Errors
-If both a `client` is given and the `handlers` map contains the "iota" key the construction process
-will throw an error because the handler for the "iota" method then becomes ambiguous.
-
-
-| Param | Type |
-| --- | --- |
-| config | ResolverConfig
|
-
-
-
-### resolver.resolve(did) ⇒ Promise.<(CoreDocument\|IToCoreDocument)>
-Fetches the DID Document of the given DID.
-
-### Errors
-
-Errors if the resolver has not been configured to handle the method
-corresponding to the given DID or the resolution process itself fails.
-
-**Kind**: instance method of [Resolver
](#Resolver)
-
-| Param | Type |
-| --- | --- |
-| did | string
|
-
-
-
-### resolver.resolveMultiple(dids) ⇒ Promise.<Array.<(CoreDocument\|IToCoreDocument)>>
-Concurrently fetches the DID Documents of the multiple given DIDs.
-
-# Errors
-* If the resolver has not been configured to handle the method of any of the given DIDs.
-* If the resolution process of any DID fails.
-
-## Note
-* The order of the documents in the returned array matches that in `dids`.
-* If `dids` contains duplicates, these will be resolved only once and the resolved document
-is copied into the returned array to match the order of `dids`.
-
-**Kind**: instance method of [Resolver
](#Resolver)
-
-| Param | Type |
-| --- | --- |
-| dids | Array.<string>
|
-
-
-
-## RevocationBitmap
-A compressed bitmap for managing credential revocation.
-
-**Kind**: global class
-
-* [RevocationBitmap](#RevocationBitmap)
- * [new RevocationBitmap()](#new_RevocationBitmap_new)
- * _instance_
- * [.isRevoked(index)](#RevocationBitmap+isRevoked) ⇒ boolean
- * [.revoke(index)](#RevocationBitmap+revoke) ⇒ boolean
- * [.unrevoke(index)](#RevocationBitmap+unrevoke) ⇒ boolean
- * [.len()](#RevocationBitmap+len) ⇒ number
- * [.toService(serviceId)](#RevocationBitmap+toService) ⇒ [Service
](#Service)
- * _static_
- * [.type()](#RevocationBitmap.type) ⇒ string
- * [.fromEndpoint(service)](#RevocationBitmap.fromEndpoint) ⇒ [RevocationBitmap
](#RevocationBitmap)
-
-
-
-### new RevocationBitmap()
-Creates a new [RevocationBitmap](#RevocationBitmap) instance.
-
-
-
-### revocationBitmap.isRevoked(index) ⇒ boolean
-Returns `true` if the credential at the given `index` is revoked.
-
-**Kind**: instance method of [RevocationBitmap
](#RevocationBitmap)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-
-
-
-### revocationBitmap.revoke(index) ⇒ boolean
-Mark the given index as revoked.
-
-Returns true if the index was absent from the set.
-
-**Kind**: instance method of [RevocationBitmap
](#RevocationBitmap)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-
-
-
-### revocationBitmap.unrevoke(index) ⇒ boolean
-Mark the index as not revoked.
-
-Returns true if the index was present in the set.
-
-**Kind**: instance method of [RevocationBitmap
](#RevocationBitmap)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-
-
-
-### revocationBitmap.len() ⇒ number
-Returns the number of revoked credentials.
-
-**Kind**: instance method of [RevocationBitmap
](#RevocationBitmap)
-
-
-### revocationBitmap.toService(serviceId) ⇒ [Service
](#Service)
-Return a `Service` with:
-- the service's id set to `serviceId`,
-- of type `RevocationBitmap2022`,
-- and with the bitmap embedded in a data url in the service's endpoint.
-
-**Kind**: instance method of [RevocationBitmap
](#RevocationBitmap)
-
-| Param | Type |
-| --- | --- |
-| serviceId | [DIDUrl
](#DIDUrl) |
-
-
-
-### RevocationBitmap.type() ⇒ string
-The name of the service type.
-
-**Kind**: static method of [RevocationBitmap
](#RevocationBitmap)
-
-
-### RevocationBitmap.fromEndpoint(service) ⇒ [RevocationBitmap
](#RevocationBitmap)
-Try to construct a [RevocationBitmap](#RevocationBitmap) from a service
-if it is a valid Revocation Bitmap Service.
-
-**Kind**: static method of [RevocationBitmap
](#RevocationBitmap)
-
-| Param | Type |
-| --- | --- |
-| service | [Service
](#Service) |
-
-
-
-## RevocationTimeframeStatus
-Information used to determine the current status of a [Credential](#Credential).
-
-**Kind**: global class
-
-* [RevocationTimeframeStatus](#RevocationTimeframeStatus)
- * [new RevocationTimeframeStatus(id, index, duration, [start_validity])](#new_RevocationTimeframeStatus_new)
- * _instance_
- * [.clone()](#RevocationTimeframeStatus+clone) ⇒ [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
- * [.toJSON()](#RevocationTimeframeStatus+toJSON) ⇒ any
- * [.startValidityTimeframe()](#RevocationTimeframeStatus+startValidityTimeframe) ⇒ [Timestamp
](#Timestamp)
- * [.endValidityTimeframe()](#RevocationTimeframeStatus+endValidityTimeframe) ⇒ [Timestamp
](#Timestamp)
- * [.id()](#RevocationTimeframeStatus+id) ⇒ string
- * [.index()](#RevocationTimeframeStatus+index) ⇒ number
\| undefined
- * _static_
- * [.fromJSON(json)](#RevocationTimeframeStatus.fromJSON) ⇒ [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-
-### new RevocationTimeframeStatus(id, index, duration, [start_validity])
-Creates a new `RevocationTimeframeStatus`.
-
-
-| Param | Type |
-| --- | --- |
-| id | string
|
-| index | number
|
-| duration | [Duration
](#Duration) |
-| [start_validity] | [Timestamp
](#Timestamp) \| undefined
|
-
-
-
-### revocationTimeframeStatus.clone() ⇒ [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-Deep clones the object.
-
-**Kind**: instance method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-### revocationTimeframeStatus.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-### revocationTimeframeStatus.startValidityTimeframe() ⇒ [Timestamp
](#Timestamp)
-Get startValidityTimeframe value.
-
-**Kind**: instance method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-### revocationTimeframeStatus.endValidityTimeframe() ⇒ [Timestamp
](#Timestamp)
-Get endValidityTimeframe value.
-
-**Kind**: instance method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-### revocationTimeframeStatus.id() ⇒ string
-Return the URL fo the `RevocationBitmapStatus`.
-
-**Kind**: instance method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-### revocationTimeframeStatus.index() ⇒ number
\| undefined
-Return the index of the credential in the issuer's revocation bitmap
-
-**Kind**: instance method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-
-### RevocationTimeframeStatus.fromJSON(json) ⇒ [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [RevocationTimeframeStatus
](#RevocationTimeframeStatus)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## SdJwt
-Representation of an SD-JWT of the format
-`string
- * [.toString()](#SdJwt+toString) ⇒ string
- * [.jwt()](#SdJwt+jwt) ⇒ string
- * [.disclosures()](#SdJwt+disclosures) ⇒ Array.<string>
- * [.keyBindingJwt()](#SdJwt+keyBindingJwt) ⇒ string
\| undefined
- * [.clone()](#SdJwt+clone) ⇒ [SdJwt
](#SdJwt)
- * _static_
- * [.parse(sd_jwt)](#SdJwt.parse) ⇒ [SdJwt
](#SdJwt)
-
-
-
-### new SdJwt(jwt, disclosures, [key_binding_jwt])
-Creates a new `SdJwt` from its components.
-
-
-| Param | Type |
-| --- | --- |
-| jwt | string
|
-| disclosures | Array.<string>
|
-| [key_binding_jwt] | string
\| undefined
|
-
-
-
-### sdJwt.presentation() ⇒ string
-Serializes the components into the final SD-JWT.
-
-**Kind**: instance method of [SdJwt
](#SdJwt)
-
-
-### sdJwt.toString() ⇒ string
-Serializes the components into the final SD-JWT.
-
-**Kind**: instance method of [SdJwt
](#SdJwt)
-
-
-### sdJwt.jwt() ⇒ string
-The JWT part.
-
-**Kind**: instance method of [SdJwt
](#SdJwt)
-
-
-### sdJwt.disclosures() ⇒ Array.<string>
-The disclosures part.
-
-**Kind**: instance method of [SdJwt
](#SdJwt)
-
-
-### sdJwt.keyBindingJwt() ⇒ string
\| undefined
-The optional key binding JWT.
-
-**Kind**: instance method of [SdJwt
](#SdJwt)
-
-
-### sdJwt.clone() ⇒ [SdJwt
](#SdJwt)
-Deep clones the object.
-
-**Kind**: instance method of [SdJwt
](#SdJwt)
-
-
-### SdJwt.parse(sd_jwt) ⇒ [SdJwt
](#SdJwt)
-Parses an SD-JWT into its components as [`SdJwt`].
-
-## Error
-Returns `DeserializationError` if parsing fails.
-
-**Kind**: static method of [SdJwt
](#SdJwt)
-
-| Param | Type |
-| --- | --- |
-| sd_jwt | string
|
-
-
-
-## SdJwtCredentialValidator
-A type for decoding and validating [Credential](#Credential).
-
-**Kind**: global class
-
-* [SdJwtCredentialValidator](#SdJwtCredentialValidator)
- * [new SdJwtCredentialValidator([signatureVerifier])](#new_SdJwtCredentialValidator_new)
- * [.validateCredential(sd_jwt, issuer, options, fail_fast)](#SdJwtCredentialValidator+validateCredential) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
- * [.verifySignature(credential, trustedIssuers, options)](#SdJwtCredentialValidator+verifySignature) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
- * [.validateKeyBindingJwt(sdJwt, holder, options)](#SdJwtCredentialValidator+validateKeyBindingJwt) ⇒ [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-
-
-
-### new SdJwtCredentialValidator([signatureVerifier])
-Creates a new `SdJwtCredentialValidator`. If a `signatureVerifier` is provided it will be used when
-verifying decoded JWS signatures, otherwise the default which is only capable of handling the `EdDSA`
-algorithm will be used.
-
-
-| Param | Type |
-| --- | --- |
-| [signatureVerifier] | IJwsVerifier
\| undefined
|
-
-
-
-### sdJwtCredentialValidator.validateCredential(sd_jwt, issuer, options, fail_fast) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
-Decodes and validates a `Credential` issued as an SD-JWT. A `DecodedJwtCredential` is returned upon success.
-The credential is constructed by replacing disclosures following the
-[`Selective Disclosure for JWTs (SD-JWT)`](https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-07.html) standard.
-
-The following properties are validated according to `options`:
-- the issuer's signature on the JWS,
-- the expiration date,
-- the issuance date,
-- the semantic structure.
-
-# Warning
-* The key binding JWT is not validated. If needed, it must be validated separately using
-`SdJwtValidator::validate_key_binding_jwt`.
-* The lack of an error returned from this method is in of itself not enough to conclude that the credential can be
-trusted. This section contains more information on additional checks that should be carried out before and after
-calling this method.
-
-## The state of the issuer's DID Document
-The caller must ensure that `issuer` represents an up-to-date DID Document.
-
-## Properties that are not validated
- There are many properties defined in [The Verifiable Credentials Data Model](https://www.w3.org/TR/vc-data-model/) that are **not** validated, such as:
-`proof`, `credentialStatus`, `type`, `credentialSchema`, `refreshService` **and more**.
-These should be manually checked after validation, according to your requirements.
-
-# Errors
-An error is returned whenever a validated condition is not satisfied.
-
-**Kind**: instance method of [SdJwtCredentialValidator
](#SdJwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| sd_jwt | [SdJwt
](#SdJwt) |
-| issuer | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| options | [JwtCredentialValidationOptions
](#JwtCredentialValidationOptions) |
-| fail_fast | [FailFast
](#FailFast) |
-
-
-
-### sdJwtCredentialValidator.verifySignature(credential, trustedIssuers, options) ⇒ [DecodedJwtCredential
](#DecodedJwtCredential)
-Decode and verify the JWS signature of a `Credential` issued as an SD-JWT using the DID Document of a trusted
-issuer and replaces the disclosures.
-
-A `DecodedJwtCredential` is returned upon success.
-
-# Warning
-The caller must ensure that the DID Documents of the trusted issuers are up-to-date.
-
-## Proofs
- Only the JWS signature is verified. If the `Credential` contains a `proof` property this will not be verified
-by this method.
-
-# Errors
-* If the issuer' URL cannot be parsed.
-* If Signature verification fails.
-* If SD decoding fails.
-
-**Kind**: instance method of [SdJwtCredentialValidator
](#SdJwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| credential | [SdJwt
](#SdJwt) |
-| trustedIssuers | Array.<(CoreDocument\|IToCoreDocument)>
|
-| options | [JwsVerificationOptions
](#JwsVerificationOptions) |
-
-
-
-### sdJwtCredentialValidator.validateKeyBindingJwt(sdJwt, holder, options) ⇒ [KeyBindingJwtClaims
](#KeyBindingJwtClaims)
-Validates a Key Binding JWT (KB-JWT) according to `https://www.ietf.org/archive/id/draft-ietf-oauth-selective-disclosure-jwt-07.html#name-key-binding-jwt`.
-The Validation process includes:
- * Signature validation using public key materials defined in the `holder` document.
- * `typ` value in KB-JWT header.
- * `sd_hash` claim value in the KB-JWT claim.
- * Optional `nonce`, `aud` and issuance date validation.
-
-**Kind**: instance method of [SdJwtCredentialValidator
](#SdJwtCredentialValidator)
-
-| Param | Type |
-| --- | --- |
-| sdJwt | [SdJwt
](#SdJwt) |
-| holder | [CoreDocument
](#CoreDocument) \| IToCoreDocument
|
-| options | [KeyBindingJWTValidationOptions
](#KeyBindingJWTValidationOptions) |
-
-
-
-## SdObjectDecoder
-Substitutes digests in an SD-JWT object by their corresponding plaintext values provided by disclosures.
-
-**Kind**: global class
-
-* [SdObjectDecoder](#SdObjectDecoder)
- * [new SdObjectDecoder()](#new_SdObjectDecoder_new)
- * [.decode(object, disclosures)](#SdObjectDecoder+decode) ⇒ Record.<string, any>
-
-
-
-### new SdObjectDecoder()
-Creates a new `SdObjectDecoder` with `sha-256` hasher.
-
-
-
-### sdObjectDecoder.decode(object, disclosures) ⇒ Record.<string, any>
-Decodes an SD-JWT `object` containing by Substituting the digests with their corresponding
-plaintext values provided by `disclosures`.
-
-## Notes
-* Claims like `exp` or `iat` are not validated in the process of decoding.
-* `_sd_alg` property will be removed if present.
-
-**Kind**: instance method of [SdObjectDecoder
](#SdObjectDecoder)
-
-| Param | Type |
-| --- | --- |
-| object | Record.<string, any>
|
-| disclosures | Array.<string>
|
-
-
-
-## SdObjectEncoder
-Transforms a JSON object into an SD-JWT object by substituting selected values
-with their corresponding disclosure digests.
-
-Note: digests are created using the sha-256 algorithm.
-
-**Kind**: global class
-
-* [SdObjectEncoder](#SdObjectEncoder)
- * [new SdObjectEncoder(object)](#new_SdObjectEncoder_new)
- * [.conceal(path, [salt])](#SdObjectEncoder+conceal) ⇒ [Disclosure
](#Disclosure)
- * [.addSdAlgProperty()](#SdObjectEncoder+addSdAlgProperty)
- * [.encodeToString()](#SdObjectEncoder+encodeToString) ⇒ string
- * [.toString()](#SdObjectEncoder+toString) ⇒ string
- * [.encodeToObject()](#SdObjectEncoder+encodeToObject) ⇒ Record.<string, any>
- * [.toJSON()](#SdObjectEncoder+toJSON) ⇒ any
- * [.addDecoys(path, number_of_decoys)](#SdObjectEncoder+addDecoys)
-
-
-
-### new SdObjectEncoder(object)
-Creates a new `SdObjectEncoder` with `sha-256` hash function.
-
-
-| Param | Type |
-| --- | --- |
-| object | any
|
-
-
-
-### sdObjectEncoder.conceal(path, [salt]) ⇒ [Disclosure
](#Disclosure)
-Substitutes a value with the digest of its disclosure.
-If no salt is provided, the disclosure will be created with a random salt value.
-
-`path` indicates the pointer to the value that will be concealed using the syntax of
-[JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901).
-
-For the following object:
-
- ```
-{
- "id": "did:value",
- "claim1": {
- "abc": true
- },
- "claim2": ["val_1", "val_2"]
-}
-```
-
-Path "/id" conceals `"id": "did:value"`
-Path "/claim1/abc" conceals `"abc": true`
-Path "/claim2/0" conceals `val_1`
-```
-
-## Errors
-* `InvalidPath` if pointer is invalid.
-* `DataTypeMismatch` if existing SD format is invalid.
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-| Param | Type |
-| --- | --- |
-| path | string
|
-| [salt] | string
\| undefined
|
-
-
-
-### sdObjectEncoder.addSdAlgProperty()
-Adds the `_sd_alg` property to the top level of the object, with
-its value set to "sha-256".
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-
-### sdObjectEncoder.encodeToString() ⇒ string
-Returns the modified object as a string.
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-
-### sdObjectEncoder.toString() ⇒ string
-Returns the modified object as a string.
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-
-### sdObjectEncoder.encodeToObject() ⇒ Record.<string, any>
-Returns the modified object.
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-
-### sdObjectEncoder.toJSON() ⇒ any
-Returns the modified object.
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-
-### sdObjectEncoder.addDecoys(path, number_of_decoys)
-Adds a decoy digest to the specified path.
-If path is an empty slice, decoys will be added to the top level.
-
-**Kind**: instance method of [SdObjectEncoder
](#SdObjectEncoder)
-
-| Param | Type |
-| --- | --- |
-| path | string
|
-| number_of_decoys | number
|
-
-
-
-## SelectiveDisclosurePresentation
-Used to construct a JwpPresentedBuilder and handle the selective disclosure of attributes
-- @context MUST NOT be blinded
-- id MUST be blinded
-- type MUST NOT be blinded
-- issuer MUST NOT be blinded
-- issuanceDate MUST be blinded (if Timeframe Revocation mechanism is used)
-- expirationDate MUST be blinded (if Timeframe Revocation mechanism is used)
-- credentialSubject (User have to choose which attribute must be blinded)
-- credentialSchema MUST NOT be blinded
-- credentialStatus MUST NOT be blinded
-- refreshService MUST NOT be blinded (probably will be used for Timeslot Revocation mechanism)
-- termsOfUse NO reason to use it in ZK VC (will be in any case blinded)
-- evidence (User have to choose which attribute must be blinded)
-
-**Kind**: global class
-
-* [SelectiveDisclosurePresentation](#SelectiveDisclosurePresentation)
- * [new SelectiveDisclosurePresentation(issued_jwp)](#new_SelectiveDisclosurePresentation_new)
- * [.concealInSubject(path)](#SelectiveDisclosurePresentation+concealInSubject)
- * [.concealInEvidence(path)](#SelectiveDisclosurePresentation+concealInEvidence)
- * [.setPresentationHeader(header)](#SelectiveDisclosurePresentation+setPresentationHeader)
-
-
-
-### new SelectiveDisclosurePresentation(issued_jwp)
-Initialize a presentation starting from an Issued JWP.
-The properties `jti`, `nbf`, `issuanceDate`, `expirationDate` and `termsOfUse` are concealed by default.
-
-
-| Param | Type |
-| --- | --- |
-| issued_jwp | [JwpIssued
](#JwpIssued) |
-
-
-
-### selectiveDisclosurePresentation.concealInSubject(path)
-Selectively disclose "credentialSubject" attributes.
-# Example
-```
-{
- "id": 1234,
- "name": "Alice",
- "mainCourses": ["Object-oriented Programming", "Mathematics"],
- "degree": {
- "type": "BachelorDegree",
- "name": "Bachelor of Science and Arts",
- },
- "GPA": "4.0",
-}
-```
-If you want to undisclose for example the Mathematics course and the name of the degree:
-```
-undisclose_subject("mainCourses[1]");
-undisclose_subject("degree.name");
-```
-
-**Kind**: instance method of [SelectiveDisclosurePresentation
](#SelectiveDisclosurePresentation)
-
-| Param | Type |
-| --- | --- |
-| path | string
|
-
-
-
-### selectiveDisclosurePresentation.concealInEvidence(path)
-Undiscloses "evidence" attributes.
-
-**Kind**: instance method of [SelectiveDisclosurePresentation
](#SelectiveDisclosurePresentation)
-
-| Param | Type |
-| --- | --- |
-| path | string
|
-
-
-
-### selectiveDisclosurePresentation.setPresentationHeader(header)
-Sets presentation protected header.
-
-**Kind**: instance method of [SelectiveDisclosurePresentation
](#SelectiveDisclosurePresentation)
-
-| Param | Type |
-| --- | --- |
-| header | [PresentationProtectedHeader
](#PresentationProtectedHeader) |
-
-
-
-## Service
-A DID Document Service used to enable trusted interactions associated with a DID subject.
-
-**Kind**: global class
-
-* [Service](#Service)
- * [new Service(service)](#new_Service_new)
- * _instance_
- * [.id()](#Service+id) ⇒ [DIDUrl
](#DIDUrl)
- * [.type()](#Service+type) ⇒ Array.<string>
- * [.serviceEndpoint()](#Service+serviceEndpoint) ⇒ string
\| Array.<string>
\| Map.<string, Array.<string>>
- * [.properties()](#Service+properties) ⇒ Map.<string, any>
- * [.toJSON()](#Service+toJSON) ⇒ any
- * [.clone()](#Service+clone) ⇒ [Service
](#Service)
- * _static_
- * [.fromJSON(json)](#Service.fromJSON) ⇒ [Service
](#Service)
-
-
-
-### new Service(service)
-
-| Param | Type |
-| --- | --- |
-| service | IService
|
-
-
-
-### service.id() ⇒ [DIDUrl
](#DIDUrl)
-Returns a copy of the [Service](#Service) id.
-
-**Kind**: instance method of [Service
](#Service)
-
-
-### service.type() ⇒ Array.<string>
-Returns a copy of the [Service](#Service) type.
-
-**Kind**: instance method of [Service
](#Service)
-
-
-### service.serviceEndpoint() ⇒ string
\| Array.<string>
\| Map.<string, Array.<string>>
-Returns a copy of the [Service](#Service) endpoint.
-
-**Kind**: instance method of [Service
](#Service)
-
-
-### service.properties() ⇒ Map.<string, any>
-Returns a copy of the custom properties on the [Service](#Service).
-
-**Kind**: instance method of [Service
](#Service)
-
-
-### service.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Service
](#Service)
-
-
-### service.clone() ⇒ [Service
](#Service)
-Deep clones the object.
-
-**Kind**: instance method of [Service
](#Service)
-
-
-### Service.fromJSON(json) ⇒ [Service
](#Service)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Service
](#Service)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## StatusList2021
-StatusList2021 data structure as described in [W3C's VC status list 2021](https://www.w3.org/TR/2023/WD-vc-status-list-20230427/).
-
-**Kind**: global class
-
-* [StatusList2021](#StatusList2021)
- * [new StatusList2021([size])](#new_StatusList2021_new)
- * _instance_
- * [.clone()](#StatusList2021+clone) ⇒ [StatusList2021
](#StatusList2021)
- * [.len()](#StatusList2021+len) ⇒ number
- * [.get(index)](#StatusList2021+get) ⇒ boolean
- * [.set(index, value)](#StatusList2021+set)
- * [.intoEncodedStr()](#StatusList2021+intoEncodedStr) ⇒ string
- * _static_
- * [.fromEncodedStr(s)](#StatusList2021.fromEncodedStr) ⇒ [StatusList2021
](#StatusList2021)
-
-
-
-### new StatusList2021([size])
-Creates a new [StatusList2021](#StatusList2021) of `size` entries.
-
-
-| Param | Type |
-| --- | --- |
-| [size] | number
\| undefined
|
-
-
-
-### statusList2021.clone() ⇒ [StatusList2021
](#StatusList2021)
-Deep clones the object.
-
-**Kind**: instance method of [StatusList2021
](#StatusList2021)
-
-
-### statusList2021.len() ⇒ number
-Returns the number of entries in this [StatusList2021](#StatusList2021).
-
-**Kind**: instance method of [StatusList2021
](#StatusList2021)
-
-
-### statusList2021.get(index) ⇒ boolean
-Returns whether the entry at `index` is set.
-
-**Kind**: instance method of [StatusList2021
](#StatusList2021)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-
-
-
-### statusList2021.set(index, value)
-Sets the value of the `index`-th entry.
-
-**Kind**: instance method of [StatusList2021
](#StatusList2021)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-| value | boolean
|
-
-
-
-### statusList2021.intoEncodedStr() ⇒ string
-Encodes this [StatusList2021](#StatusList2021) into its compressed
-base64 string representation.
-
-**Kind**: instance method of [StatusList2021
](#StatusList2021)
-
-
-### StatusList2021.fromEncodedStr(s) ⇒ [StatusList2021
](#StatusList2021)
-Attempts to decode a [StatusList2021](#StatusList2021) from a string.
-
-**Kind**: static method of [StatusList2021
](#StatusList2021)
-
-| Param | Type |
-| --- | --- |
-| s | string
|
-
-
-
-## StatusList2021Credential
-A parsed [StatusList2021Credential](https://www.w3.org/TR/2023/WD-vc-status-list-20230427/#statuslist2021credential).
-
-**Kind**: global class
-
-* [StatusList2021Credential](#StatusList2021Credential)
- * [new StatusList2021Credential(credential)](#new_StatusList2021Credential_new)
- * _instance_
- * [.id()](#StatusList2021Credential+id) ⇒ string
- * [.setCredentialStatus(credential, index, revoked_or_suspended)](#StatusList2021Credential+setCredentialStatus) ⇒ [StatusList2021Entry
](#StatusList2021Entry)
- * [.purpose()](#StatusList2021Credential+purpose) ⇒ [StatusPurpose
](#StatusPurpose)
- * [.entry(index)](#StatusList2021Credential+entry) ⇒ [CredentialStatus
](#CredentialStatus)
- * [.clone()](#StatusList2021Credential+clone) ⇒ [StatusList2021Credential
](#StatusList2021Credential)
- * [.toJSON()](#StatusList2021Credential+toJSON) ⇒ any
- * _static_
- * [.fromJSON(json)](#StatusList2021Credential.fromJSON) ⇒ [StatusList2021Credential
](#StatusList2021Credential)
-
-
-
-### new StatusList2021Credential(credential)
-Creates a new [StatusList2021Credential](#StatusList2021Credential).
-
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-
-
-
-### statusList2021Credential.id() ⇒ string
-**Kind**: instance method of [StatusList2021Credential
](#StatusList2021Credential)
-
-
-### statusList2021Credential.setCredentialStatus(credential, index, revoked_or_suspended) ⇒ [StatusList2021Entry
](#StatusList2021Entry)
-Sets the given credential's status using the `index`-th entry of this status list.
-Returns the created `credentialStatus`.
-
-**Kind**: instance method of [StatusList2021Credential
](#StatusList2021Credential)
-
-| Param | Type |
-| --- | --- |
-| credential | [Credential
](#Credential) |
-| index | number
|
-| revoked_or_suspended | boolean
|
-
-
-
-### statusList2021Credential.purpose() ⇒ [StatusPurpose
](#StatusPurpose)
-Returns the [StatusPurpose](#StatusPurpose) of this [StatusList2021Credential](#StatusList2021Credential).
-
-**Kind**: instance method of [StatusList2021Credential
](#StatusList2021Credential)
-
-
-### statusList2021Credential.entry(index) ⇒ [CredentialStatus
](#CredentialStatus)
-Returns the state of the `index`-th entry, if any.
-
-**Kind**: instance method of [StatusList2021Credential
](#StatusList2021Credential)
-
-| Param | Type |
-| --- | --- |
-| index | number
|
-
-
-
-### statusList2021Credential.clone() ⇒ [StatusList2021Credential
](#StatusList2021Credential)
-**Kind**: instance method of [StatusList2021Credential
](#StatusList2021Credential)
-
-
-### statusList2021Credential.toJSON() ⇒ any
-**Kind**: instance method of [StatusList2021Credential
](#StatusList2021Credential)
-
-
-### StatusList2021Credential.fromJSON(json) ⇒ [StatusList2021Credential
](#StatusList2021Credential)
-**Kind**: static method of [StatusList2021Credential
](#StatusList2021Credential)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## StatusList2021CredentialBuilder
-Builder type to construct valid [StatusList2021Credential](#StatusList2021Credential) istances.
-
-**Kind**: global class
-
-* [StatusList2021CredentialBuilder](#StatusList2021CredentialBuilder)
- * [new StatusList2021CredentialBuilder([status_list])](#new_StatusList2021CredentialBuilder_new)
- * [.purpose(purpose)](#StatusList2021CredentialBuilder+purpose) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.subjectId(id)](#StatusList2021CredentialBuilder+subjectId) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.expirationDate(time)](#StatusList2021CredentialBuilder+expirationDate) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.issuer(issuer)](#StatusList2021CredentialBuilder+issuer) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.context(context)](#StatusList2021CredentialBuilder+context) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.type(t)](#StatusList2021CredentialBuilder+type) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.proof(proof)](#StatusList2021CredentialBuilder+proof) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
- * [.build()](#StatusList2021CredentialBuilder+build) ⇒ [StatusList2021Credential
](#StatusList2021Credential)
-
-
-
-### new StatusList2021CredentialBuilder([status_list])
-Creates a new [StatusList2021CredentialBuilder](#StatusList2021CredentialBuilder).
-
-
-| Param | Type |
-| --- | --- |
-| [status_list] | [StatusList2021
](#StatusList2021) \| undefined
|
-
-
-
-### statusList2021CredentialBuilder.purpose(purpose) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Sets the purpose of the [StatusList2021Credential](#StatusList2021Credential) that is being created.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| purpose | [StatusPurpose
](#StatusPurpose) |
-
-
-
-### statusList2021CredentialBuilder.subjectId(id) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Sets `credentialSubject.id`.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| id | string
|
-
-
-
-### statusList2021CredentialBuilder.expirationDate(time) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Sets the expiration date of the credential.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| time | [Timestamp
](#Timestamp) |
-
-
-
-### statusList2021CredentialBuilder.issuer(issuer) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Sets the issuer of the credential.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| issuer | string
|
-
-
-
-### statusList2021CredentialBuilder.context(context) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Sets the context of the credential.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| context | string
|
-
-
-
-### statusList2021CredentialBuilder.type(t) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Adds a credential type.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| t | string
|
-
-
-
-### statusList2021CredentialBuilder.proof(proof) ⇒ [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-Adds a credential's proof.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-| Param | Type |
-| --- | --- |
-| proof | [Proof
](#Proof) |
-
-
-
-### statusList2021CredentialBuilder.build() ⇒ [StatusList2021Credential
](#StatusList2021Credential)
-Attempts to build a valid [StatusList2021Credential](#StatusList2021Credential) with the previously provided data.
-
-**Kind**: instance method of [StatusList2021CredentialBuilder
](#StatusList2021CredentialBuilder)
-
-
-## StatusList2021Entry
-[StatusList2021Entry](https://www.w3.org/TR/2023/WD-vc-status-list-20230427/#statuslist2021entry) implementation.
-
-**Kind**: global class
-
-* [StatusList2021Entry](#StatusList2021Entry)
- * [new StatusList2021Entry(status_list, purpose, index, [id])](#new_StatusList2021Entry_new)
- * _instance_
- * [.id()](#StatusList2021Entry+id) ⇒ string
- * [.purpose()](#StatusList2021Entry+purpose) ⇒ [StatusPurpose
](#StatusPurpose)
- * [.index()](#StatusList2021Entry+index) ⇒ number
- * [.statusListCredential()](#StatusList2021Entry+statusListCredential) ⇒ string
- * [.toStatus()](#StatusList2021Entry+toStatus) ⇒ Status
- * [.clone()](#StatusList2021Entry+clone) ⇒ [StatusList2021Entry
](#StatusList2021Entry)
- * [.toJSON()](#StatusList2021Entry+toJSON) ⇒ any
- * _static_
- * [.fromJSON(json)](#StatusList2021Entry.fromJSON) ⇒ [StatusList2021Entry
](#StatusList2021Entry)
-
-
-
-### new StatusList2021Entry(status_list, purpose, index, [id])
-Creates a new [StatusList2021Entry](#StatusList2021Entry).
-
-
-| Param | Type |
-| --- | --- |
-| status_list | string
|
-| purpose | [StatusPurpose
](#StatusPurpose) |
-| index | number
|
-| [id] | string
\| undefined
|
-
-
-
-### statusList2021Entry.id() ⇒ string
-Returns this `credentialStatus`'s `id`.
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### statusList2021Entry.purpose() ⇒ [StatusPurpose
](#StatusPurpose)
-Returns the purpose of this entry.
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### statusList2021Entry.index() ⇒ number
-Returns the index of this entry.
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### statusList2021Entry.statusListCredential() ⇒ string
-Returns the referenced [StatusList2021Credential](#StatusList2021Credential)'s url.
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### statusList2021Entry.toStatus() ⇒ Status
-Downcasts [this](this) to [Status](Status)
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### statusList2021Entry.clone() ⇒ [StatusList2021Entry
](#StatusList2021Entry)
-Deep clones the object.
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### statusList2021Entry.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [StatusList2021Entry
](#StatusList2021Entry)
-
-
-### StatusList2021Entry.fromJSON(json) ⇒ [StatusList2021Entry
](#StatusList2021Entry)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [StatusList2021Entry
](#StatusList2021Entry)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## Storage
-A type wrapping a `JwkStorage` and `KeyIdStorage` that should always be used together when
-working with storage backed DID documents.
-
-**Kind**: global class
-
-* [Storage](#Storage)
- * [new Storage(jwkStorage, keyIdStorage)](#new_Storage_new)
- * [.keyIdStorage()](#Storage+keyIdStorage) ⇒ KeyIdStorage
- * [.keyStorage()](#Storage+keyStorage) ⇒ JwkStorage
-
-
-
-### new Storage(jwkStorage, keyIdStorage)
-Constructs a new `Storage`.
-
-
-| Param | Type |
-| --- | --- |
-| jwkStorage | JwkStorage
|
-| keyIdStorage | KeyIdStorage
|
-
-
-
-### storage.keyIdStorage() ⇒ KeyIdStorage
-Obtain the wrapped `KeyIdStorage`.
-
-**Kind**: instance method of [Storage
](#Storage)
-
-
-### storage.keyStorage() ⇒ JwkStorage
-Obtain the wrapped `JwkStorage`.
-
-**Kind**: instance method of [Storage
](#Storage)
-
-
-## Timestamp
-**Kind**: global class
-
-* [Timestamp](#Timestamp)
- * [new Timestamp()](#new_Timestamp_new)
- * _instance_
- * [.toRFC3339()](#Timestamp+toRFC3339) ⇒ string
- * [.checkedAdd(duration)](#Timestamp+checkedAdd) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.checkedSub(duration)](#Timestamp+checkedSub) ⇒ [Timestamp
](#Timestamp) \| undefined
- * [.toJSON()](#Timestamp+toJSON) ⇒ any
- * _static_
- * [.parse(input)](#Timestamp.parse) ⇒ [Timestamp
](#Timestamp)
- * [.nowUTC()](#Timestamp.nowUTC) ⇒ [Timestamp
](#Timestamp)
- * [.fromJSON(json)](#Timestamp.fromJSON) ⇒ [Timestamp
](#Timestamp)
-
-
-
-### new Timestamp()
-Creates a new [Timestamp](#Timestamp) with the current date and time.
-
-
-
-### timestamp.toRFC3339() ⇒ string
-Returns the [Timestamp](#Timestamp) as an RFC 3339 `String`.
-
-**Kind**: instance method of [Timestamp
](#Timestamp)
-
-
-### timestamp.checkedAdd(duration) ⇒ [Timestamp
](#Timestamp) \| undefined
-Computes `self + duration`
-
-Returns `null` if the operation leads to a timestamp not in the valid range for [RFC 3339](https://tools.ietf.org/html/rfc3339).
-
-**Kind**: instance method of [Timestamp
](#Timestamp)
-
-| Param | Type |
-| --- | --- |
-| duration | [Duration
](#Duration) |
-
-
-
-### timestamp.checkedSub(duration) ⇒ [Timestamp
](#Timestamp) \| undefined
-Computes `self - duration`
-
-Returns `null` if the operation leads to a timestamp not in the valid range for [RFC 3339](https://tools.ietf.org/html/rfc3339).
-
-**Kind**: instance method of [Timestamp
](#Timestamp)
-
-| Param | Type |
-| --- | --- |
-| duration | [Duration
](#Duration) |
-
-
-
-### timestamp.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [Timestamp
](#Timestamp)
-
-
-### Timestamp.parse(input) ⇒ [Timestamp
](#Timestamp)
-Parses a [Timestamp](#Timestamp) from the provided input string.
-
-**Kind**: static method of [Timestamp
](#Timestamp)
-
-| Param | Type |
-| --- | --- |
-| input | string
|
-
-
-
-### Timestamp.nowUTC() ⇒ [Timestamp
](#Timestamp)
-Creates a new [Timestamp](#Timestamp) with the current date and time.
-
-**Kind**: static method of [Timestamp
](#Timestamp)
-
-
-### Timestamp.fromJSON(json) ⇒ [Timestamp
](#Timestamp)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [Timestamp
](#Timestamp)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## UnknownCredential
-**Kind**: global class
-
-* [UnknownCredential](#UnknownCredential)
- * _instance_
- * [.tryIntoJwt()](#UnknownCredential+tryIntoJwt) ⇒ [Jwt
](#Jwt) \| undefined
- * [.tryIntoCredential()](#UnknownCredential+tryIntoCredential) ⇒ [Credential
](#Credential) \| undefined
- * [.tryIntoRaw()](#UnknownCredential+tryIntoRaw) ⇒ Record.<string, any>
\| undefined
- * [.toJSON()](#UnknownCredential+toJSON) ⇒ any
- * [.clone()](#UnknownCredential+clone) ⇒ [UnknownCredential
](#UnknownCredential)
- * _static_
- * [.fromJSON(json)](#UnknownCredential.fromJSON) ⇒ [UnknownCredential
](#UnknownCredential)
-
-
-
-### unknownCredential.tryIntoJwt() ⇒ [Jwt
](#Jwt) \| undefined
-Returns a [Jwt](#Jwt) if the credential is of type string, `undefined` otherwise.
-
-**Kind**: instance method of [UnknownCredential
](#UnknownCredential)
-
-
-### unknownCredential.tryIntoCredential() ⇒ [Credential
](#Credential) \| undefined
-Returns a [Credential](#Credential) if the credential is of said type, `undefined` otherwise.
-
-**Kind**: instance method of [UnknownCredential
](#UnknownCredential)
-
-
-### unknownCredential.tryIntoRaw() ⇒ Record.<string, any>
\| undefined
-Returns the contained value as an Object, if it can be converted, `undefined` otherwise.
-
-**Kind**: instance method of [UnknownCredential
](#UnknownCredential)
-
-
-### unknownCredential.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [UnknownCredential
](#UnknownCredential)
-
-
-### unknownCredential.clone() ⇒ [UnknownCredential
](#UnknownCredential)
-Deep clones the object.
-
-**Kind**: instance method of [UnknownCredential
](#UnknownCredential)
-
-
-### UnknownCredential.fromJSON(json) ⇒ [UnknownCredential
](#UnknownCredential)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [UnknownCredential
](#UnknownCredential)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## VerificationMethod
-A DID Document Verification Method.
-
-**Kind**: global class
-
-* [VerificationMethod](#VerificationMethod)
- * [new VerificationMethod(id, controller, type_, data)](#new_VerificationMethod_new)
- * _instance_
- * [.id()](#VerificationMethod+id) ⇒ [DIDUrl
](#DIDUrl)
- * [.setId(id)](#VerificationMethod+setId)
- * [.controller()](#VerificationMethod+controller) ⇒ [CoreDID
](#CoreDID)
- * [.setController(did)](#VerificationMethod+setController)
- * [.type()](#VerificationMethod+type) ⇒ [MethodType
](#MethodType)
- * [.setType(type_)](#VerificationMethod+setType)
- * [.data()](#VerificationMethod+data) ⇒ [MethodData
](#MethodData)
- * [.setData(data)](#VerificationMethod+setData)
- * [.properties()](#VerificationMethod+properties) ⇒ Map.<string, any>
- * [.setPropertyUnchecked(key, value)](#VerificationMethod+setPropertyUnchecked)
- * [.toJSON()](#VerificationMethod+toJSON) ⇒ any
- * [.clone()](#VerificationMethod+clone) ⇒ [VerificationMethod
](#VerificationMethod)
- * _static_
- * [.newFromJwk(did, key, [fragment])](#VerificationMethod.newFromJwk) ⇒ [VerificationMethod
](#VerificationMethod)
- * [.fromJSON(json)](#VerificationMethod.fromJSON) ⇒ [VerificationMethod
](#VerificationMethod)
-
-
-
-### new VerificationMethod(id, controller, type_, data)
-Create a custom [VerificationMethod](#VerificationMethod).
-
-
-| Param | Type |
-| --- | --- |
-| id | [DIDUrl
](#DIDUrl) |
-| controller | [CoreDID
](#CoreDID) |
-| type_ | [MethodType
](#MethodType) |
-| data | [MethodData
](#MethodData) |
-
-
-
-### verificationMethod.id() ⇒ [DIDUrl
](#DIDUrl)
-Returns a copy of the [DIDUrl](#DIDUrl) of the [VerificationMethod](#VerificationMethod)'s `id`.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### verificationMethod.setId(id)
-Sets the id of the [VerificationMethod](#VerificationMethod).
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| id | [DIDUrl
](#DIDUrl) |
-
-
-
-### verificationMethod.controller() ⇒ [CoreDID
](#CoreDID)
-Returns a copy of the `controller` `DID` of the [VerificationMethod](#VerificationMethod).
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### verificationMethod.setController(did)
-Sets the `controller` `DID` of the [VerificationMethod](#VerificationMethod) object.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| did | [CoreDID
](#CoreDID) |
-
-
-
-### verificationMethod.type() ⇒ [MethodType
](#MethodType)
-Returns a copy of the [VerificationMethod](#VerificationMethod) type.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### verificationMethod.setType(type_)
-Sets the [VerificationMethod](#VerificationMethod) type.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| type_ | [MethodType
](#MethodType) |
-
-
-
-### verificationMethod.data() ⇒ [MethodData
](#MethodData)
-Returns a copy of the [VerificationMethod](#VerificationMethod) public key data.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### verificationMethod.setData(data)
-Sets [VerificationMethod](#VerificationMethod) public key data.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| data | [MethodData
](#MethodData) |
-
-
-
-### verificationMethod.properties() ⇒ Map.<string, any>
-Get custom properties of the Verification Method.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### verificationMethod.setPropertyUnchecked(key, value)
-Adds a custom property to the Verification Method.
-If the value is set to `null`, the custom property will be removed.
-
-### WARNING
-This method can overwrite existing properties like `id` and result
-in an invalid Verification Method.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| key | string
|
-| value | any
|
-
-
-
-### verificationMethod.toJSON() ⇒ any
-Serializes this to a JSON object.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### verificationMethod.clone() ⇒ [VerificationMethod
](#VerificationMethod)
-Deep clones the object.
-
-**Kind**: instance method of [VerificationMethod
](#VerificationMethod)
-
-
-### VerificationMethod.newFromJwk(did, key, [fragment]) ⇒ [VerificationMethod
](#VerificationMethod)
-Creates a new [VerificationMethod](#VerificationMethod) from the given `did` and [Jwk](#Jwk). If `fragment` is not given
-the `kid` value of the given `key` will be used, if present, otherwise an error is returned.
-
-### Recommendations
-The following recommendations are essentially taken from the `publicKeyJwk` description from the [DID specification](https://www.w3.org/TR/did-core/#dfn-publickeyjwk):
-- It is recommended that verification methods that use `Jwks` to represent their public keys use the value of
- `kid` as their fragment identifier. This is
-done automatically if `None` is passed in as the fragment.
-- It is recommended that [Jwk](#Jwk) kid values are set to the public key fingerprint.
-
-**Kind**: static method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| did | [CoreDID
](#CoreDID) \| IToCoreDID
|
-| key | [Jwk
](#Jwk) |
-| [fragment] | string
\| undefined
|
-
-
-
-### VerificationMethod.fromJSON(json) ⇒ [VerificationMethod
](#VerificationMethod)
-Deserializes an instance from a JSON object.
-
-**Kind**: static method of [VerificationMethod
](#VerificationMethod)
-
-| Param | Type |
-| --- | --- |
-| json | any
|
-
-
-
-## StatusCheck
-Controls validation behaviour when checking whether or not a credential has been revoked by its
-[`credentialStatus`](https://www.w3.org/TR/vc-data-model/#status).
-
-**Kind**: global variable
-
-
-## Strict
-Validate the status if supported, reject any unsupported
-[`credentialStatus`](https://www.w3.org/TR/vc-data-model/#status) types.
-
-Only `RevocationBitmap2022` is currently supported.
-
-This is the default.
-
-**Kind**: global variable
-
-
-## SkipUnsupported
-Validate the status if supported, skip any unsupported
-[`credentialStatus`](https://www.w3.org/TR/vc-data-model/#status) types.
-
-**Kind**: global variable
-
-
-## SkipAll
-Skip all status checks.
-
-**Kind**: global variable
-
-
-## SubjectHolderRelationship
-Declares how credential subjects must relate to the presentation holder.
-
-See also the [Subject-Holder Relationship](https://www.w3.org/TR/vc-data-model/#subject-holder-relationships) section of the specification.
-
-## CredentialStatus
-**Kind**: global variable
-
-
-## encodeB64(data) ⇒ string
-Encode the given bytes in url-safe base64.
-
-**Kind**: global function
-
-| Param | Type |
-| --- | --- |
-| data | Uint8Array
|
-
-
-
-## decodeB64(data) ⇒ Uint8Array
-Decode the given url-safe base64-encoded slice into its raw bytes.
-
-**Kind**: global variable
-
-
-## PresentationProofAlgorithm
-**Kind**: global variable
-
-
-## StatusPurpose
-Purpose of a [StatusList2021](#StatusList2021).
-
-**Kind**: global variable
-
-
-## ProofAlgorithm
-**Kind**: global variable
-
-
-## CredentialStatus
-**Kind**: global variable
-
-
-## FailFast
-Declares when validation should return if an error occurs.
-
-**Kind**: global variable
-
-
-## AllErrors
-Return all errors that occur during validation.
-
-**Kind**: global variable
-
-
-## FirstError
-Return after the first error occurs.
-
-**Kind**: global variable
-
-
-## StateMetadataEncoding
-**Kind**: global variable
-
-
-## SerializationType
-**Kind**: global variable
-
-
-## PayloadType
-**Kind**: global variable
-
-
-## MethodRelationship
-**Kind**: global variable
-
-
-## verifyEd25519(alg, signingInput, decodedSignature, publicKey)
-Verify a JWS signature secured with the `EdDSA` algorithm and curve `Ed25519`.
-
-This function is useful when one is composing a `IJwsVerifier` that delegates
-`EdDSA` verification with curve `Ed25519` to this function.
-
-# Warning
-
-This function does not check whether `alg = EdDSA` in the protected header. Callers are expected to assert this
-prior to calling the function.
-
-**Kind**: global function
-
-| Param | Type |
-| --- | --- |
-| alg | JwsAlgorithm
|
-| signingInput | Uint8Array
|
-| decodedSignature | Uint8Array
|
-| publicKey | [Jwk
](#Jwk) |
-
-
-
-## start()
-Initializes the console error panic hook for better error messages
-
-**Kind**: global function
-
-
-## encodeB64(data) ⇒ string
-Encode the given bytes in url-safe base64.
-
-**Kind**: global function
-
-| Param | Type |
-| --- | --- |
-| data | Uint8Array
|
-
-
-
-## decodeB64(data) ⇒ Uint8Array
-Decode the given url-safe base64-encoded slice into its raw bytes.
-
-**Kind**: global function
-
-| Param | Type |
-| --- | --- |
-| data | Uint8Array
|
-
diff --git a/bindings/wasm/package-lock.json b/bindings/wasm/package-lock.json
index 37e102a1ce..f70949c608 100644
--- a/bindings/wasm/package-lock.json
+++ b/bindings/wasm/package-lock.json
@@ -29,6 +29,8 @@
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.1.0",
"txm": "^8.1.0",
+ "typedoc": "^0.24.6",
+ "typedoc-plugin-markdown": "^3.14.0",
"typescript": "^4.7.2",
"wasm-opt": "^1.3.0"
},
@@ -950,6 +952,13 @@
"node": ">=8"
}
},
+ "node_modules/ansi-sequence-parser": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
+ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -3407,6 +3416,13 @@
"node": ">=6"
}
},
+ "node_modules/jsonc-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -3739,6 +3755,13 @@
"node": ">=10"
}
},
+ "node_modules/lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/make-error": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
@@ -3772,10 +3795,11 @@
}
},
"node_modules/marked": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.0.tgz",
- "integrity": "sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
+ "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
"dev": true,
+ "license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
@@ -5276,6 +5300,19 @@
"node": ">=8"
}
},
+ "node_modules/shiki": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
+ "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-sequence-parser": "^1.1.0",
+ "jsonc-parser": "^3.2.0",
+ "vscode-oniguruma": "^1.7.0",
+ "vscode-textmate": "^8.0.0"
+ }
+ },
"node_modules/side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -5986,6 +6023,67 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/typedoc": {
+ "version": "0.24.8",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz",
+ "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "lunr": "^2.3.9",
+ "marked": "^4.3.0",
+ "minimatch": "^9.0.0",
+ "shiki": "^0.14.1"
+ },
+ "bin": {
+ "typedoc": "bin/typedoc"
+ },
+ "engines": {
+ "node": ">= 14.14"
+ },
+ "peerDependencies": {
+ "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x"
+ }
+ },
+ "node_modules/typedoc-plugin-markdown": {
+ "version": "3.17.1",
+ "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.17.1.tgz",
+ "integrity": "sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "handlebars": "^4.7.7"
+ },
+ "peerDependencies": {
+ "typedoc": ">=0.24.0"
+ }
+ },
+ "node_modules/typedoc/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/typedoc/node_modules/minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"node_modules/typescript": {
"version": "4.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
@@ -6203,6 +6301,20 @@
"url": "https://opencollective.com/unified"
}
},
+ "node_modules/vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vscode-textmate": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
+ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/walk-back": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
@@ -7280,6 +7392,12 @@
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true
},
+ "ansi-sequence-parser": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz",
+ "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==",
+ "dev": true
+ },
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
@@ -9076,6 +9194,12 @@
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
"dev": true
},
+ "jsonc-parser": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+ "dev": true
+ },
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
@@ -9317,6 +9441,12 @@
"yallist": "^4.0.0"
}
},
+ "lunr": {
+ "version": "2.3.9",
+ "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+ "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+ "dev": true
+ },
"make-error": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
@@ -9344,9 +9474,9 @@
"requires": {}
},
"marked": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/marked/-/marked-4.1.0.tgz",
- "integrity": "sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==",
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz",
+ "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==",
"dev": true
},
"mdast-util-from-markdown": {
@@ -10349,6 +10479,18 @@
"integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
"dev": true
},
+ "shiki": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz",
+ "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==",
+ "dev": true,
+ "requires": {
+ "ansi-sequence-parser": "^1.1.0",
+ "jsonc-parser": "^3.2.0",
+ "vscode-oniguruma": "^1.7.0",
+ "vscode-textmate": "^8.0.0"
+ }
+ },
"side-channel": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
@@ -10874,6 +11016,47 @@
"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
"dev": true
},
+ "typedoc": {
+ "version": "0.24.8",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.24.8.tgz",
+ "integrity": "sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==",
+ "dev": true,
+ "requires": {
+ "lunr": "^2.3.9",
+ "marked": "^4.3.0",
+ "minimatch": "^9.0.0",
+ "shiki": "^0.14.1"
+ },
+ "dependencies": {
+ "brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "minimatch": {
+ "version": "9.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+ "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^2.0.1"
+ }
+ }
+ }
+ },
+ "typedoc-plugin-markdown": {
+ "version": "3.17.1",
+ "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.17.1.tgz",
+ "integrity": "sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==",
+ "dev": true,
+ "requires": {
+ "handlebars": "^4.7.7"
+ }
+ },
"typescript": {
"version": "4.8.3",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz",
@@ -11028,6 +11211,18 @@
"unist-util-stringify-position": "^3.0.0"
}
},
+ "vscode-oniguruma": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz",
+ "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==",
+ "dev": true
+ },
+ "vscode-textmate": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz",
+ "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==",
+ "dev": true
+ },
"walk-back": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-5.1.0.tgz",
diff --git a/bindings/wasm/package.json b/bindings/wasm/package.json
index 8740706220..085abe22a7 100644
--- a/bindings/wasm/package.json
+++ b/bindings/wasm/package.json
@@ -15,7 +15,7 @@
"bundle:web": "wasm-bindgen target/wasm32-unknown-unknown/release/identity_wasm.wasm --typescript --weak-refs --target web --out-dir web && node ./build/web && tsc --project ./lib/tsconfig.web.json && node ./build/replace_paths ./lib/tsconfig.web.json web",
"build:nodejs": "npm run build:src && npm run bundle:nodejs && wasm-opt -O node/identity_wasm_bg.wasm -o node/identity_wasm_bg.wasm",
"build:web": "npm run build:src && npm run bundle:web && wasm-opt -O web/identity_wasm_bg.wasm -o web/identity_wasm_bg.wasm",
- "build:docs": "npm run fix_js_doc && node ./build/docs",
+ "build:docs": "typedoc && npm run fix_docs",
"build:examples:web": "tsc --project ./examples/tsconfig.web.json && node ./build/replace_paths ./examples/tsconfig.web.json ./examples/dist resolve",
"build": "npm run build:web && npm run build:nodejs && npm run build:docs",
"example:node": "ts-node --project tsconfig.node.json -r tsconfig-paths/register ./examples/src/main.ts",
@@ -32,7 +32,7 @@
"test:unit:node": "ts-mocha -p tsconfig.node.json ./tests/*.ts --parallel --exit",
"cypress": "cypress open",
"fmt": "dprint fmt",
- "fix_js_doc": "sed -Ei 's/\\((.*)\\)\\[\\]/\\1\\[\\]/' ./node/identity_wasm.js"
+ "fix_docs": "sed -Ei 's/(\\.md?#([^#]*)?)#/\\1/' ./docs/wasm/**/*.md"
},
"config": {
"CYPRESS_VERIFY_TIMEOUT": 100000
@@ -71,6 +71,8 @@
"ts-node": "^10.9.1",
"tsconfig-paths": "^4.1.0",
"txm": "^8.1.0",
+ "typedoc": "^0.24.6",
+ "typedoc-plugin-markdown": "^3.14.0",
"typescript": "^4.7.2",
"wasm-opt": "^1.3.0"
},
diff --git a/bindings/wasm/src/sd_jwt/encoder.rs b/bindings/wasm/src/sd_jwt/encoder.rs
index 550742b42b..6e912e885e 100644
--- a/bindings/wasm/src/sd_jwt/encoder.rs
+++ b/bindings/wasm/src/sd_jwt/encoder.rs
@@ -47,7 +47,6 @@ impl WasmSdObjectEncoder {
/// Path "/id" conceals `"id": "did:value"`
/// Path "/claim1/abc" conceals `"abc": true`
/// Path "/claim2/0" conceals `val_1`
- /// ```
///
/// ## Errors
/// * `InvalidPath` if pointer is invalid.
diff --git a/bindings/wasm/tsconfig.typedoc.json b/bindings/wasm/tsconfig.typedoc.json
new file mode 100644
index 0000000000..02841974ec
--- /dev/null
+++ b/bindings/wasm/tsconfig.typedoc.json
@@ -0,0 +1,4 @@
+{
+ "extends": "./tsconfig.node.json",
+ "include": ["node/**/*"]
+}
diff --git a/bindings/wasm/typedoc.json b/bindings/wasm/typedoc.json
new file mode 100644
index 0000000000..c6874ebe33
--- /dev/null
+++ b/bindings/wasm/typedoc.json
@@ -0,0 +1,23 @@
+{
+ "$schema": "https://typedoc.org/schema.json",
+ "disableSources": true,
+ "excludePrivate": true,
+ "excludeInternal": true,
+ "excludeNotDocumented": true,
+ "excludeExternals": true,
+ "entryPoints": ["./node/"],
+ "entryPointStrategy": "expand",
+ "tsconfig": "./tsconfig.typedoc.json",
+ "out": "./docs/wasm",
+ "plugin": ["typedoc-plugin-markdown"],
+ "readme": "none",
+ "githubPages": false,
+ "theme": "markdown",
+ "entryDocument": "api_ref.md",
+ "hideBreadcrumbs": true,
+ "hideGenerator": true,
+ "sort": ["source-order"],
+ "compilerOptions": {
+ "skipLibCheck": true,
+ }
+}