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

Credentials package pex #164

Closed
wants to merge 16 commits into from
Closed

Credentials package pex #164

wants to merge 16 commits into from

Conversation

nitro-neal
Copy link
Contributor

@nitro-neal nitro-neal commented Aug 3, 2023

Summary

Integrate pex SSI objects within the credentials package of web5.

The types.ts file in the credential package exports web5 objects as wrapped pex objects
This allows users to only need to import web5 and not pex, and we can add abstractions around pex lib as needed.

Benefits

Full Presentation Exchange:

  • Get full PE out of the box

Simplified Imports:

  • Users can import from web5 without needing to directly interact with pex.

Enhanced Abstraction:

  • Ability to wrap and introduce new abstractions around pex library as our project evolves.

Usage

A end user would import web5 credentials package like this:

import { 
  VerifiableCredential, 
  evaluateCredentials, 
  evaluatePresentation, 
  presentationFrom 
} from '@tbd54566975/credentials/';

This change allows a full PE by users using boilerplate ssi objects. A full Presentation Exchange is available as a new unit test presentationexchange.spec.ts

@codecov
Copy link

codecov bot commented Aug 4, 2023

Codecov Report

Merging #164 (1b98987) into main (1d2cc96) will decrease coverage by 7.04%.
The diff coverage is n/a.

❗ Current head 1b98987 differs from pull request most recent head a48ba7b. Consider uploading reports for the commit a48ba7b to get more accurate results

@@            Coverage Diff             @@
##             main     #164      +/-   ##
==========================================
- Coverage   90.28%   83.25%   -7.04%     
==========================================
  Files          63       67       +4     
  Lines       11592     6735    -4857     
  Branches     1132      565     -567     
==========================================
- Hits        10466     5607    -4859     
- Misses       1106     1126      +20     
+ Partials       20        2      -18     
Components Coverage Δ
common 100.00% <ø> (+4.99%) ⬆️
credentials ∅ <ø> (∅)
crypto 95.24% <ø> (+0.36%) ⬆️
dids 50.20% <ø> (-41.97%) ⬇️
web5 81.54% <ø> (∅)
web5-agent 0.00% <ø> (∅)
web5-proxy-agent 0.00% <ø> (∅)
web5-user-agent 79.60% <ø> (∅)

@mistermoe mistermoe added the credentials SSI functionality label Aug 4, 2023
@nitro-neal
Copy link
Contributor Author

image

@nitro-neal
Copy link
Contributor Author

The VC JWT created by this PE test is verified and working with SSI-Service:

❯ curl -X PUT http://localhost:8080/v1/credentials/verification -d '{"credentialJwt": "eyJhbGciOiJFUzI1NksiLCJraWQiOiJkaWQ6aW9uOkVpQWNXaUpxdnpCSC1Zbng3YVFkdnhmRFJHSzB4M094OGFXd0k1OTUxZDFKbFE6ZXlKa1pXeDBZU0k2ZXlKd1lYUmphR1Z6SWpwYmV5SmhZM1JwYjI0aU9pSnlaWEJzWVdObElpd2laRzlqZFcxbGJuUWlPbnNpY0hWaWJHbGpTMlY1Y3lJNlczc2lhV1FpT2lKaGRYUm9laUlzSW5CMVlteHBZMHRsZVVwM2F5STZleUpqY25ZaU9pSnpaV053TWpVMmF6RWlMQ0pyZEhraU9pSkZReUlzSW5naU9pSjNNMmczWW5oNE5sQlBjakZ2TTJOTlJEWTJSMlZyVFZReVoya3pTMlJqT0hCRFVITnRYMmR1VGxGdklpd2llU0k2SWxWR05tbFpaV3d0ZWxwU1Uwa3pRMkZCYUVGcGRYWkxlbTlYVUdWVmRXdHZZbEZxVUhSU2VFNWxTbThpZlN3aWNIVnljRzl6WlhNaU9sc2lZWFYwYUdWdWRHbGpZWFJwYjI0aVhTd2lkSGx3WlNJNklrcHpiMjVYWldKTFpYa3lNREl3SW4xZExDSnpaWEoyYVdObGN5STZXM3NpYVdRaU9pSmtkMjRpTENKelpYSjJhV05sUlc1a2NHOXBiblFpT25zaWJXVnpjMkZuWlVGMWRHaHZjbWw2WVhScGIyNUxaWGx6SWpwYklpTmhkWFJvZWlKZExDSnViMlJsY3lJNld5Sm9kSFJ3Y3pvdkwyUjNiaTUwWW1Sa1pYWXViM0puTDJSM2JqQWlYWDBzSW5SNWNHVWlPaUpFWldObGJuUnlZV3hwZW1Wa1YyVmlUbTlrWlNKOVhYMTlYU3dpZFhCa1lYUmxRMjl0YldsMGJXVnVkQ0k2SWtWcFFWb3RUVzB6YlZwdlNYcFVPSE5ZYTJodVIwVTNTbUZGY0Vvd1RrVldObHA1TnpkdmRIRnNZV05rYlhjaWZTd2ljM1ZtWm1sNFJHRjBZU0k2ZXlKa1pXeDBZVWhoYzJnaU9pSkZhVU4zUTI5bkxXdENkRTFoZWs0emVYWnRaMGd0TUhBdGNXaHFTVzlOYWt4bWIxOHRaRkZsY1d0NlNWRkJJaXdpY21WamIzWmxjbmxEYjIxdGFYUnRaVzUwSWpvaVJXbEVTMkZXYWxacE4zTklWekZKWmpaUlEyb3hXREJ1VjBSU2RWZGZiVGN3WTNSSVRGcEVTR2RSUVVwc1VTSjlmUSNhdXRoeiJ9.eyJpc3MiOiJkaWQ6aW9uOkVpQWNXaUpxdnpCSC1Zbng3YVFkdnhmRFJHSzB4M094OGFXd0k1OTUxZDFKbFE6ZXlKa1pXeDBZU0k2ZXlKd1lYUmphR1Z6SWpwYmV5SmhZM1JwYjI0aU9pSnlaWEJzWVdObElpd2laRzlqZFcxbGJuUWlPbnNpY0hWaWJHbGpTMlY1Y3lJNlczc2lhV1FpT2lKaGRYUm9laUlzSW5CMVlteHBZMHRsZVVwM2F5STZleUpqY25ZaU9pSnpaV053TWpVMmF6RWlMQ0pyZEhraU9pSkZReUlzSW5naU9pSjNNMmczWW5oNE5sQlBjakZ2TTJOTlJEWTJSMlZyVFZReVoya3pTMlJqT0hCRFVITnRYMmR1VGxGdklpd2llU0k2SWxWR05tbFpaV3d0ZWxwU1Uwa3pRMkZCYUVGcGRYWkxlbTlYVUdWVmRXdHZZbEZxVUhSU2VFNWxTbThpZlN3aWNIVnljRzl6WlhNaU9sc2lZWFYwYUdWdWRHbGpZWFJwYjI0aVhTd2lkSGx3WlNJNklrcHpiMjVYWldKTFpYa3lNREl3SW4xZExDSnpaWEoyYVdObGN5STZXM3NpYVdRaU9pSmtkMjRpTENKelpYSjJhV05sUlc1a2NHOXBiblFpT25zaWJXVnpjMkZuWlVGMWRHaHZjbWw2WVhScGIyNUxaWGx6SWpwYklpTmhkWFJvZWlKZExDSnViMlJsY3lJNld5Sm9kSFJ3Y3pvdkwyUjNiaTUwWW1Sa1pYWXViM0puTDJSM2JqQWlYWDBzSW5SNWNHVWlPaUpFWldObGJuUnlZV3hwZW1Wa1YyVmlUbTlrWlNKOVhYMTlYU3dpZFhCa1lYUmxRMjl0YldsMGJXVnVkQ0k2SWtWcFFWb3RUVzB6YlZwdlNYcFVPSE5ZYTJodVIwVTNTbUZGY0Vvd1RrVldObHA1TnpkdmRIRnNZV05rYlhjaWZTd2ljM1ZtWm1sNFJHRjBZU0k2ZXlKa1pXeDBZVWhoYzJnaU9pSkZhVU4zUTI5bkxXdENkRTFoZWs0emVYWnRaMGd0TUhBdGNXaHFTVzlOYWt4bWIxOHRaRkZsY1d0NlNWRkJJaXdpY21WamIzWmxjbmxEYjIxdGFYUnRaVzUwSWpvaVJXbEVTMkZXYWxacE4zTklWekZKWmpaUlEyb3hXREJ1VjBSU2RWZGZiVGN3WTNSSVRGcEVTR2RSUVVwc1VTSjlmUSIsInN1YiI6ImRpZDppb246RWlBY1dpSnF2ekJILVlueDdhUWR2eGZEUkdLMHgzT3g4YVd3STU5NTFkMUpsUTpleUprWld4MFlTSTZleUp3WVhSamFHVnpJanBiZXlKaFkzUnBiMjRpT2lKeVpYQnNZV05sSWl3aVpHOWpkVzFsYm5RaU9uc2ljSFZpYkdsalMyVjVjeUk2VzNzaWFXUWlPaUpoZFhSb2VpSXNJbkIxWW14cFkwdGxlVXAzYXlJNmV5SmpjbllpT2lKelpXTndNalUyYXpFaUxDSnJkSGtpT2lKRlF5SXNJbmdpT2lKM00yZzNZbmg0TmxCUGNqRnZNMk5OUkRZMlIyVnJUVlF5WjJrelMyUmpPSEJEVUhOdFgyZHVUbEZ2SWl3aWVTSTZJbFZHTm1sWlpXd3RlbHBTVTBrelEyRkJhRUZwZFhaTGVtOVhVR1ZWZFd0dllsRnFVSFJTZUU1bFNtOGlmU3dpY0hWeWNHOXpaWE1pT2xzaVlYVjBhR1Z1ZEdsallYUnBiMjRpWFN3aWRIbHdaU0k2SWtwemIyNVhaV0pMWlhreU1ESXdJbjFkTENKelpYSjJhV05sY3lJNlczc2lhV1FpT2lKa2QyNGlMQ0p6WlhKMmFXTmxSVzVrY0c5cGJuUWlPbnNpYldWemMyRm5aVUYxZEdodmNtbDZZWFJwYjI1TFpYbHpJanBiSWlOaGRYUm9laUpkTENKdWIyUmxjeUk2V3lKb2RIUndjem92TDJSM2JpNTBZbVJrWlhZdWIzSm5MMlIzYmpBaVhYMHNJblI1Y0dVaU9pSkVaV05sYm5SeVlXeHBlbVZrVjJWaVRtOWtaU0o5WFgxOVhTd2lkWEJrWVhSbFEyOXRiV2wwYldWdWRDSTZJa1ZwUVZvdFRXMHpiVnB2U1hwVU9ITllhMmh1UjBVM1NtRkZjRW93VGtWV05scDVOemR2ZEhGc1lXTmtiWGNpZlN3aWMzVm1abWw0UkdGMFlTSTZleUprWld4MFlVaGhjMmdpT2lKRmFVTjNRMjluTFd0Q2RFMWhlazR6ZVhadFowZ3RNSEF0Y1docVNXOU5ha3htYjE4dFpGRmxjV3Q2U1ZGQklpd2ljbVZqYjNabGNubERiMjF0YVhSdFpXNTBJam9pUldsRVMyRldhbFpwTjNOSVZ6RkpaalpSUTJveFdEQnVWMFJTZFZkZmJUY3dZM1JJVEZwRVNHZFJRVXBzVVNKOWZRIiwidmMiOnsiQGNvbnRleHQiOlsiaHR0cHM6Ly93d3cudzMub3JnLzIwMTgvY3JlZGVudGlhbHMvdjEiXSwiaWQiOiJidGMtY3JlZGVudGlhbCIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiXSwiaXNzdWVyIjoiZGlkOmlvbjpFaUFjV2lKcXZ6QkgtWW54N2FRZHZ4ZkRSR0sweDNPeDhhV3dJNTk1MWQxSmxROmV5SmtaV3gwWVNJNmV5SndZWFJqYUdWeklqcGJleUpoWTNScGIyNGlPaUp5WlhCc1lXTmxJaXdpWkc5amRXMWxiblFpT25zaWNIVmliR2xqUzJWNWN5STZXM3NpYVdRaU9pSmhkWFJvZWlJc0luQjFZbXhwWTB0bGVVcDNheUk2ZXlKamNuWWlPaUp6WldOd01qVTJhekVpTENKcmRIa2lPaUpGUXlJc0luZ2lPaUozTTJnM1luaDRObEJQY2pGdk0yTk5SRFkyUjJWclRWUXlaMmt6UzJSak9IQkRVSE50WDJkdVRsRnZJaXdpZVNJNklsVkdObWxaWld3dGVscFNVMGt6UTJGQmFFRnBkWFpMZW05WFVHVlZkV3R2WWxGcVVIUlNlRTVsU204aWZTd2ljSFZ5Y0c5elpYTWlPbHNpWVhWMGFHVnVkR2xqWVhScGIyNGlYU3dpZEhsd1pTSTZJa3B6YjI1WFpXSkxaWGt5TURJd0luMWRMQ0p6WlhKMmFXTmxjeUk2VzNzaWFXUWlPaUprZDI0aUxDSnpaWEoyYVdObFJXNWtjRzlwYm5RaU9uc2liV1Z6YzJGblpVRjFkR2h2Y21sNllYUnBiMjVMWlhseklqcGJJaU5oZFhSb2VpSmRMQ0p1YjJSbGN5STZXeUpvZEhSd2N6b3ZMMlIzYmk1MFltUmtaWFl1YjNKbkwyUjNiakFpWFgwc0luUjVjR1VpT2lKRVpXTmxiblJ5WVd4cGVtVmtWMlZpVG05a1pTSjlYWDE5WFN3aWRYQmtZWFJsUTI5dGJXbDBiV1Z1ZENJNklrVnBRVm90VFcwemJWcHZTWHBVT0hOWWEyaHVSMFUzU21GRmNFb3dUa1ZXTmxwNU56ZHZkSEZzWVdOa2JYY2lmU3dpYzNWbVptbDRSR0YwWVNJNmV5SmtaV3gwWVVoaGMyZ2lPaUpGYVVOM1EyOW5MV3RDZEUxaGVrNHplWFp0WjBndE1IQXRjV2hxU1c5TmFreG1iMTh0WkZGbGNXdDZTVkZCSWl3aWNtVmpiM1psY25sRGIyMXRhWFJ0Wlc1MElqb2lSV2xFUzJGV2FsWnBOM05JVnpGSlpqWlJRMm94V0RCdVYwUlNkVmRmYlRjd1kzUklURnBFU0dkUlFVcHNVU0o5ZlEiLCJpc3N1YW5jZURhdGUiOiIyMDIzLTA4LTA4VDE4OjEwOjIxLjYzNloiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJidGNBZGRyZXNzIjoiYnRjQWRkcmVzczEyMyJ9fX0.Y6CO3BmR_Ep2Jz2xFJyXOJCKJ5jOweheQWlie64H9wJdgrgtIC3d786Qqf1DEN2n-HW7mT3NEBJmOOmbbsI56w"}'
{"verified":true}

@nitro-neal nitro-neal closed this Aug 22, 2023
@frankhinek frankhinek deleted the credentials-package-pex branch November 3, 2023 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
credentials SSI functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants