Currently, it's impossible to add support for new proof formats without forking Veramo because the different logic for each supported proof format is hard-coded into credential-w3c
What is being changed
A new package (credential-jwt) was created to pull JWT-specific logic out of credential-w3c
The CredentialIssuer plugins (credential-jwt, credential-ld, credential-eip712) now implement a new shared interface (IProofFormatIssuerVerifier) to allow credential-w3c to call appropriate agent functions without knowing their names
credential-w3c constructor now accepts an array of IProofFormatIssuerVerifier plugins and iterates over them to perform the correct logic when creating or verifying credentials or presentations
Quality
Check all that apply:
[ ] I want these changes to be integrated
[X] I successfully ran pnpm i, pnpm build, pnpm test, pnpm test:browser locally.
[X] I allow my PR to be updated by the reviewers (to speed up the review process).
[X] I added unit tests.
[ ] I added integration tests.
[ ] I did not add automated tests because _____, and I am aware that a PR without tests will likely get rejected.
What issue is this PR fixing
credential-w3c
What is being changed
credential-jwt
) was created to pull JWT-specific logic out ofcredential-w3c
credential-jwt
,credential-ld
,credential-eip712
) now implement a new shared interface (IProofFormatIssuerVerifier
) to allowcredential-w3c
to call appropriate agent functions without knowing their namescredential-w3c
constructor now accepts an array ofIProofFormatIssuerVerifier
plugins and iterates over them to perform the correct logic when creating or verifying credentials or presentationsQuality
Check all that apply:
pnpm i
,pnpm build
,pnpm test
,pnpm test:browser
locally.