Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bump version and update readme #444

Merged
merged 4 commits into from
Mar 14, 2024
Merged

bump version and update readme #444

merged 4 commits into from
Mar 14, 2024

Conversation

nitro-neal
Copy link
Contributor

@nitro-neal nitro-neal commented Mar 12, 2024

VerifiablePresentation

VP Features

  • Create Verifiable Presentation with flexible data types.
  • Sign presentations using decentralized identifiers (DIDs).
  • Verify the integrity and authenticity of VPs encoded as JSON Web Tokens (JWTs).
  • Parse JWT representations of VPs into VerifiablePresentation instances.

VP Usage

Creating a Verifiable Presentation

Create a new VerifiablePresentation with the following parameters:

  • holder: The holder URI of the presentation, as a string..
  • vcJwts: The JWTs of the credentials to be included in the presentation.
  • type: Optional type of the presentation, can be a string or an array of strings.
  • additionalData: Optional additional data to be included in the presentation.
const vp = await VerifiablePresentation.create({
  type: 'PresentationSubmission',
  holder: 'did:ex:holder',
  vcJwts: vcJwts,
  additionalData: { 'arbitrary': 'data' }
})

Signing a Verifiable Presentation

Sign a VerifiablePresentation with a DID:

  • did: The did that is signing the VP

Sign the VP using the did object

const vpJwt = await vp.sign({ did: issuer });

Verifying a Verifiable Presentation

Verify the integrity and authenticity of a Verifiable Presentation

  • vpJwt: The VP in JWT format as a String.
try {
  await VerifiablePresentation.verify({ vpJwt: signedVpJwt })
  console.log("VP Verification successful!")
} catch (e: Error) {
  console.log("VP Verification failed: ${e.message}")
}

Parsing a JWT into a Verifiable Presentation

Parse a JWT into a VerifiablePresentation instance

vpJwt: The VP JWT as a String.

const parsedVp = VerifiablePresentation.parseJwt({ vcJwt: signedVcJwt })

Copy link
Contributor

github-actions bot commented Mar 12, 2024

TBDocs Report

🛑 Errors: 0
⚠️ Warnings: 130

@web5/api

  • Project entry file: packages/api/src/index.ts
📄 File: ./packages/api/src/protocol.ts
⚠️ extractor:typedoc:missing-reference: ProtocolMetadata is referenced by Protocol._metadata but not included in the documentation.
⚠️ extractor:typedoc:missing-docs: Protocol._agent (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Protocol._metadata (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Protocol._protocolsConfigureMessage (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Protocol.send.__type.status (Property) does not have any documentation.
📄 File: ./packages/api/src/send-cache.ts
⚠️ extractor:typedoc:missing-reference: SendCache is referenced by Record._sendCache but not included in the documentation.
📄 File: ./packages/api/src/web5.ts
⚠️ extractor:typedoc:missing-reference: Web5Options is referenced by Web5.constructor.new Web5.options but not included in the documentation.
⚠️ extractor:typedoc:missing-docs: TechPreviewOptions.__type.dwnEndpoints (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Web5ConnectOptions.__type.connectedDid (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Web5.connect.__type.web5 (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Web5.connect.__type.did (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Web5.connectedDid (Property) does not have any documentation.
📄 File: ./packages/api/src/utils.ts
⚠️ extractor:typedoc:missing-docs: utils.dataToBlob.__type.dataBlob (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: utils.dataToBlob.__type.dataFormat (Property) does not have any documentation.
📄 File: ./packages/api/src/did-api.ts
⚠️ extractor:typedoc:missing-docs: DidApi.agent (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: DidApi.connectedDid (Property) does not have any documentation.
📄 File: ./packages/api/src/dwn-api.ts
⚠️ extractor:typedoc:missing-docs: ResponseStatus.__type.status (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ResponseStatus.__type.status.__type.code (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ResponseStatus.__type.status.__type.detail (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ProtocolsConfigureRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ProtocolsConfigureResponse.__type.protocol (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ProtocolsQueryReplyEntry.__type.descriptor (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ProtocolsQueryRequest.__type.from (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ProtocolsQueryRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ProtocolsQueryResponse.__type.protocols (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsCreateFromRequest.__type.author (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsCreateFromRequest.__type.data (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsCreateFromRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsCreateFromRequest.__type.record (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsDeleteRequest.__type.from (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsDeleteRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsQueryRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsQueryResponse.__type.records (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsReadRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsReadResponse.__type.record (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsWriteRequest.__type.data (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsWriteRequest.__type.message (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsWriteRequest.__type.store (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordsWriteResponse.__type.record (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: DwnApi.agent (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: DwnApi.connectedDid (Property) does not have any documentation.
📄 File: ./packages/api/src/record.ts
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.author (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.connectedDid (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.encodedData (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.data (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.initialWrite (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.protocolRole (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordOptions.__type.remoteOrigin (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordModel.__type.author (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordModel.__type.protocolRole (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordModel.__type.recordId (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.data (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.dataCid (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.dataSize (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.dateModified (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.datePublished (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.published (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: RecordUpdateOptions.__type.protocolRole (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._sendCache (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._agent (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._connectedDid (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._encodedData (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._readableStream (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._remoteOrigin (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._author (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._attestation (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._authorization (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._contextId (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._descriptor (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._encryption (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._initialWrite (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._initialWriteStored (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._initialWriteSigned (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._recordId (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record._protocolRole (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record.data.__type.then (CallSignature) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record.data.__type.catch (CallSignature) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Record.processRecord (CallSignature) does not have any documentation.
📄 File: ./packages/api/src/vc-api.ts
⚠️ extractor:typedoc:missing-docs: VcApi.agent (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VcApi.connectedDid (Property) does not have any documentation.
🔀 Misc.
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/agent#Web5Agent" in comment for Web5ConnectOptions.__type.agent. You may have wanted "@web5/agent!Web5Agent"
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/user-agent#Web5UserAgent" in comment for Web5ConnectOptions.__type.agent. You may have wanted "@web5/user-agent!Web5UserAgent"
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/agent#AppDataStore" in comment for Web5ConnectOptions.__type.appData. You may have wanted "@web5/agent!AppDataStore"
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/agent#AppDataStore" in comment for Web5ConnectOptions.__type.appData. You may have wanted "@web5/agent!AppDataStore"
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/agent#Web5Agent" in comment for Web5.connect. You may have wanted "@web5/agent!Web5Agent"
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/user-agent#Web5UserAgent" in comment for Web5.connect. You may have wanted "@web5/user-agent!Web5UserAgent"

@web5/crypto

  • Project entry file: packages/crypto/src/index.ts

@web5/crypto-aws-kms

  • Project entry file: packages/crypto-aws-kms/src/index.ts
📄 File: ./packages/crypto-aws-kms/src/ecdsa.ts
⚠️ extractor:typedoc:missing-docs: EcdsaAlgorithm (Class) does not have any documentation.
📄 File: ./packages/crypto-aws-kms/src/key-manager.ts
⚠️ extractor:typedoc:missing-docs: AwsKeyManager (Class) does not have any documentation.
📄 File: ./packages/crypto-aws-kms/src/utils.ts
⚠️ extractor:typedoc:missing-docs: getKeySpec (CallSignature) does not have any documentation.
🔀 Misc.
⚠️ extractor:typedoc:invalid-link: Failed to resolve link to "@web5/crypto#Secp256k1.adjustSignatureToLowS | here" in comment for EcdsaAlgorithm.sign. You may have wanted "@web5/crypto!Secp256k1.adjustSignatureToLowS | here"

@web5/dids

  • Project entry file: packages/dids/src/index.ts

@web5/credentials

  • Project entry file: packages/credentials/src/index.ts
📄 File: ./packages/credentials/src/jwt.ts
⚠️ extractor:typedoc:missing-docs: JwtParseResult.__type.decoded (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: JwtParseResult.__type.encoded (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: JwtParseResult.__type.encoded.__type.header (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: JwtParseResult.__type.encoded.__type.payload (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: JwtParseResult.__type.encoded.__type.signature (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: ParseJwtOptions.__type.jwt (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: SignJwtOptions.__type.signerDid (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: SignJwtOptions.__type.payload (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifyJwtOptions.__type.jwt (Property) does not have any documentation.
📄 File: ./packages/credentials/src/presentation-exchange.ts
⚠️ extractor:typedoc:missing-docs: PresentationDefinitionV2 (Interface) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: Validated (TypeAlias) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: PresentationExchange (Class) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: PresentationExchange.resetPex (CallSignature) does not have any documentation.
📄 File: ./packages/credentials/src/verifiable-credential.ts
⚠️ extractor:typedoc:missing-docs: DEFAULT_VC_CONTEXT (Variable) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: DEFAULT_VC_TYPE (Variable) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialCreateOptions.__type.type (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialCreateOptions.__type.issuer (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialCreateOptions.__type.subject (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialCreateOptions.__type.data (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialCreateOptions.__type.issuanceDate (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialCreateOptions.__type.expirationDate (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredentialSignOptions.__type.did (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredential.verify.__type.issuer (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredential.verify.__type.subject (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredential.verify.__type.vc (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredential.type (GetSignature) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredential.issuer (GetSignature) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiableCredential.subject (GetSignature) does not have any documentation.
📄 File: ./packages/credentials/src/verifiable-presentation.ts
⚠️ extractor:typedoc:missing-docs: DEFAULT_VP_TYPE (Variable) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentationCreateOptions.__type.holder (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentationCreateOptions.__type.vcJwts (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentationCreateOptions.__type.type (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentationCreateOptions.__type.additionalData (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentationSignOptions.__type.did (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentation.verify.__type.issuer (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentation.verify.__type.subject (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentation.verify.__type.vc (Property) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentation.type (GetSignature) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentation.holder (GetSignature) does not have any documentation.
⚠️ extractor:typedoc:missing-docs: VerifiablePresentation.verifiableCredential (GetSignature) does not have any documentation.

TBDocs Report Updated at 2024-03-13T15:13:39Z e55756b

Copy link

codecov bot commented Mar 12, 2024

Codecov Report

Merging #444 (e55756b) into main (7442465) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #444   +/-   ##
=======================================
  Coverage   93.35%   93.35%           
=======================================
  Files          80       80           
  Lines       23839    23839           
  Branches     1891     1891           
=======================================
  Hits        22255    22255           
  Misses       1544     1544           
  Partials       40       40           
Components Coverage Δ
agent 88.72% <ø> (ø)
api 97.30% <ø> (ø)
common 98.68% <ø> (ø)
credentials 94.77% <ø> (ø)
crypto 93.81% <ø> (ø)
dids 97.51% <ø> (ø)
identity-agent 56.81% <ø> (ø)
crypto-aws-kms 100.00% <ø> (ø)
proxy-agent 58.43% <ø> (ø)
user-agent 55.22% <ø> (ø)

@frankhinek
Copy link
Contributor

@nitro-neal Thanks for following up on this so quickly after @blackgirlbytes asked.

Noticed that the README is ordered:

  • VerifiableCredential
  • PresentationExchange
  • VerifiablePresentation

Is that the logical order or is it more a consequence of historically when each was added?

@nitro-neal
Copy link
Contributor Author

Yup I went ahead and reordered, flows much better this way:
VerifiableCredentials
VerifiablePresentation
PresentationExchange
👍

Copy link

@jiyoonie9 jiyoonie9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome!

@nitro-neal nitro-neal merged commit dbae44d into main Mar 14, 2024
31 checks passed
@nitro-neal nitro-neal deleted the vp-version-bump branch March 14, 2024 17:26
finn-block pushed a commit that referenced this pull request Mar 19, 2024
* bump version and update readme

* spacing

* updates

* reorder
finn-block pushed a commit that referenced this pull request Mar 19, 2024
* bump version and update readme

* spacing

* updates

* reorder
finn-block pushed a commit that referenced this pull request Mar 19, 2024
* bump version and update readme

* spacing

* updates

* reorder
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants