@veramo/credential-ld 5.6.1-unstable.36 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/build/action-handler.d.ts +49 -1
  2. package/build/action-handler.d.ts.map +1 -1
  3. package/build/action-handler.js +8 -8
  4. package/build/action-handler.js.map +1 -1
  5. package/build/index.d.ts +1 -0
  6. package/build/index.d.ts.map +1 -1
  7. package/build/index.js +1 -0
  8. package/build/index.js.map +1 -1
  9. package/build/ld-context-loader.js.map +1 -1
  10. package/build/ld-credential-module.d.ts +11 -6
  11. package/build/ld-credential-module.d.ts.map +1 -1
  12. package/build/ld-credential-module.js +19 -11
  13. package/build/ld-credential-module.js.map +1 -1
  14. package/build/ld-default-contexts.js +2 -2
  15. package/build/ld-default-contexts.js.map +1 -1
  16. package/build/ld-suite-loader.d.ts +1 -1
  17. package/build/ld-suite-loader.d.ts.map +1 -1
  18. package/build/ld-suite-loader.js +9 -9
  19. package/build/ld-suite-loader.js.map +1 -1
  20. package/build/ld-suites.d.ts +1 -1
  21. package/build/ld-suites.d.ts.map +1 -1
  22. package/build/ld-suites.js.map +1 -1
  23. package/build/plugin.schema.d.ts +430 -0
  24. package/build/plugin.schema.d.ts.map +1 -0
  25. package/build/{plugin.schema.json → plugin.schema.js} +65 -16
  26. package/build/plugin.schema.js.map +1 -0
  27. package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts.map +1 -1
  28. package/build/suites/EcdsaSecp256k1RecoverySignature2020.js +3 -1
  29. package/build/suites/EcdsaSecp256k1RecoverySignature2020.js.map +1 -1
  30. package/build/suites/Ed25519Signature2018.d.ts +1 -1
  31. package/build/suites/Ed25519Signature2018.d.ts.map +1 -1
  32. package/build/suites/Ed25519Signature2018.js +3 -2
  33. package/build/suites/Ed25519Signature2018.js.map +1 -1
  34. package/build/suites/Ed25519Signature2020.d.ts +1 -1
  35. package/build/suites/Ed25519Signature2020.d.ts.map +1 -1
  36. package/build/suites/Ed25519Signature2020.js +3 -2
  37. package/build/suites/Ed25519Signature2020.js.map +1 -1
  38. package/build/suites/JsonWebSignature2020.d.ts +1 -1
  39. package/build/suites/JsonWebSignature2020.d.ts.map +1 -1
  40. package/build/suites/JsonWebSignature2020.js +2 -1
  41. package/build/suites/JsonWebSignature2020.js.map +1 -1
  42. package/build/tsdoc-metadata.json +1 -1
  43. package/build/types.d.ts +5 -5
  44. package/build/types.d.ts.map +1 -1
  45. package/package.json +9 -11
  46. package/src/action-handler.ts +13 -10
  47. package/src/index.ts +2 -1
  48. package/src/ld-credential-module.ts +28 -19
  49. package/src/ld-suite-loader.ts +10 -10
  50. package/src/ld-suites.ts +1 -1
  51. package/src/{plugin.schema.json → plugin.schema.ts} +63 -15
  52. package/src/suites/EcdsaSecp256k1RecoverySignature2020.ts +3 -1
  53. package/src/suites/Ed25519Signature2018.ts +4 -3
  54. package/src/suites/Ed25519Signature2020.ts +4 -3
  55. package/src/suites/JsonWebSignature2020.ts +3 -2
  56. package/src/types.ts +5 -4
@@ -1 +1 @@
1
- {"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.js","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.js","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { CredentialPayload, DIDDocument, IAgentContext, IKey, TKeyType } from '@
6
6
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
7
7
  */
8
8
  export declare class VeramoEd25519Signature2018 extends VeramoLdSignature {
9
- getSupportedVerificationType(): string;
9
+ getSupportedVerificationType(): string[];
10
10
  getSupportedVeramoKeyType(): TKeyType;
11
11
  getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): any;
12
12
  getSuiteForVerification(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"Ed25519Signature2018.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlG;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;IAItC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IA2CN,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI9F"}
1
+ {"version":3,"file":"Ed25519Signature2018.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlG;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM,EAAE;IAKxC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IA2CN,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI9F"}
@@ -8,7 +8,8 @@ import { Ed25519Signature2018, Ed25519VerificationKey2018 } from '@transmute/ed2
8
8
  */
9
9
  export class VeramoEd25519Signature2018 extends VeramoLdSignature {
10
10
  getSupportedVerificationType() {
11
- return 'Ed25519VerificationKey2018';
11
+ return ['Ed25519VerificationKey2018', 'JsonWebKey2020'];
12
+ // TODO: add support for ['Ed25519VerificationKey2020', 'Multikey']
12
13
  }
13
14
  getSupportedVeramoKeyType() {
14
15
  return 'Ed25519';
@@ -42,7 +43,7 @@ export class VeramoEd25519Signature2018 extends VeramoLdSignature {
42
43
  controller,
43
44
  publicKey: hexToBytes(key.publicKeyHex),
44
45
  signer: () => signer,
45
- type: this.getSupportedVerificationType(),
46
+ type: 'Ed25519VerificationKey2018',
46
47
  });
47
48
  // overwrite the signer since we're not passing the private key and transmute doesn't support that behavior
48
49
  verificationKey.signer = () => signer;
@@ -1 +1 @@
1
- {"version":3,"file":"Ed25519Signature2018.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACpG,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,4BAA4B,CAAA;IACrC,CAAC;IAED,yBAAyB;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,kBAAkB,CAChB,GAAS,EACT,SAAiB,EACjB,oBAA4B,EAC5B,OAA4C;QAE5C,MAAM,UAAU,GAAG,SAAS,CAAA;QAE5B,aAAa;QACb,IAAI,EAAE,GAAG,oBAAoB,CAAA;QAE7B,MAAM,MAAM,GAAG;YACb,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACnD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,eAAe,GAAG,IAAI,0BAA0B,CAAC;YACrD,EAAE;YACF,UAAU;YACV,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE;SAC1C,CAAC,CAAA;QACF,2GAA2G;QAC3G,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAa,CAAA;QAE5C,OAAO,IAAI,oBAAoB,CAAC;YAC9B,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;IACJ,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,oBAAoB,EAAE,CAAA;IACnC,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACtD,qBAAqB;IACvB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,qBAAqB;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"Ed25519Signature2018.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2018.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACpG,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAEpG;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAA;QACvD,mEAAmE;IACrE,CAAC;IAED,yBAAyB;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,kBAAkB,CAChB,GAAS,EACT,SAAiB,EACjB,oBAA4B,EAC5B,OAA4C;QAE5C,MAAM,UAAU,GAAG,SAAS,CAAA;QAE5B,aAAa;QACb,IAAI,EAAE,GAAG,oBAAoB,CAAA;QAE7B,MAAM,MAAM,GAAG;YACb,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACnD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,eAAe,GAAG,IAAI,0BAA0B,CAAC;YACrD,EAAE;YACF,UAAU;YACV,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC;YACvC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;YACpB,IAAI,EAAE,4BAA4B;SACnC,CAAC,CAAA;QACF,2GAA2G;QAC3G,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAa,CAAA;QAE5C,OAAO,IAAI,oBAAoB,CAAC;YAC9B,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,MAAM;SACf,CAAC,CAAA;IACJ,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,oBAAoB,EAAE,CAAA;IACnC,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACtD,qBAAqB;IACvB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,qBAAqB;QACrB,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -6,7 +6,7 @@ import { CredentialPayload, DIDDocComponent, DIDDocument, IAgentContext, IKey, I
6
6
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
7
7
  */
8
8
  export declare class VeramoEd25519Signature2020 extends VeramoLdSignature {
9
- getSupportedVerificationType(): string;
9
+ getSupportedVerificationType(): string[];
10
10
  getSupportedVeramoKeyType(): TKeyType;
11
11
  getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<any>;
12
12
  getSuiteForVerification(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"Ed25519Signature2020.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAiB3B;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;IAItC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAoCf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA0C1D,OAAO,CAAC,2BAA2B;CAWpC"}
1
+ {"version":3,"file":"Ed25519Signature2020.d.ts","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAiB3B;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM,EAAE;IAKxC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAoCf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAChC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IA0C1D,OAAO,CAAC,2BAA2B;CAWpC"}
@@ -11,7 +11,8 @@ const debug = Debug('veramo:credential-ld:Ed25519Signature2020');
11
11
  */
12
12
  export class VeramoEd25519Signature2020 extends VeramoLdSignature {
13
13
  getSupportedVerificationType() {
14
- return 'Ed25519VerificationKey2020';
14
+ return ['Ed25519VerificationKey2020', 'Ed25519VerificationKey2018'];
15
+ // TODO: add support for ['JsonWebKey2020', 'Multikey']
15
16
  }
16
17
  getSupportedVeramoKeyType() {
17
18
  return 'Ed25519';
@@ -42,7 +43,7 @@ export class VeramoEd25519Signature2020 extends VeramoLdSignature {
42
43
  });
43
44
  // overwrite the signer since we're not passing the private key
44
45
  verificationKey.signer = () => signer;
45
- verificationKey.type = this.getSupportedVerificationType();
46
+ verificationKey.type = 'Ed25519VerificationKey2020';
46
47
  return new Ed25519Signature2020({
47
48
  key: verificationKey,
48
49
  signer: signer,
@@ -1 +1 @@
1
- {"version":3,"file":"Ed25519Signature2020.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Ed25519Signature2020.js","sourceRoot":"","sources":["../../src/suites/Ed25519Signature2020.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { RequiredAgentMethods, VeramoLdSignature } from '../ld-suites.js';
6
6
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
7
7
  */
8
8
  export declare class VeramoJsonWebSignature2020 extends VeramoLdSignature {
9
- getSupportedVerificationType(): 'JsonWebKey2020';
9
+ getSupportedVerificationType(): string;
10
10
  getSupportedVeramoKeyType(): TKeyType;
11
11
  getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): Promise<any>;
12
12
  getSuiteForVerification(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"JsonWebSignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAYzE;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,gBAAgB;IAIhD,yBAAyB,IAAI,QAAQ;IAI/B,kBAAkB,CACtB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAsDf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI9F"}
1
+ {"version":3,"file":"JsonWebSignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAYzE;;;;GAIG;AACH,qBAAa,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B,IAAI,MAAM;IAKtC,yBAAyB,IAAI,QAAQ;IAI/B,kBAAkB,CACtB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,GAAG,CAAC;IAsDf,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAIzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAI9F"}
@@ -9,6 +9,7 @@ import { asArray, bytesToBase64, bytesToBase64url, concat, encodeJoseBlob, hexTo
9
9
  export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
10
10
  getSupportedVerificationType() {
11
11
  return 'JsonWebKey2020';
12
+ // TODO: add support for ['Ed25519VerificationKey2018', 'Ed25519VerificationKey2020', 'Multikey'] and others
12
13
  }
13
14
  getSupportedVeramoKeyType() {
14
15
  return 'Ed25519';
@@ -39,7 +40,7 @@ export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
39
40
  };
40
41
  const verificationKey = await JsonWebKey.from({
41
42
  id: id,
42
- type: this.getSupportedVerificationType(),
43
+ type: 'JsonWebKey2020',
43
44
  controller: controller,
44
45
  publicKeyJwk: {
45
46
  kty: 'OKP',
@@ -1 +1 @@
1
- {"version":3,"file":"JsonWebSignature2020.js","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EACL,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,UAAU,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,yBAAyB;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAS,EACT,SAAiB,EACjB,oBAA4B,EAC5B,OAA4C;QAE5C,MAAM,UAAU,GAAG,SAAS,CAAA;QAE5B,aAAa;QACb,IAAI,EAAE,GAAG,oBAAoB,CAAA;QAE7B,MAAM,MAAM,GAAG;YACb,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACnD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YAC5C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,IAAI,CAAC,4BAA4B,EAAE;YACzC,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE;gBACZ,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAClD;SACF,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;QAErC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;YACjC,GAAG,EAAE,eAAe;SACrB,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACvF,QAAQ,CAAC,UAAU,CAAC,GAAG;gBACrB,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACtC,8CAA8C;aAC/C,CAAA;QACH,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACtD,MAAM;IACR,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,aAAa;QACb,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"JsonWebSignature2020.js","sourceRoot":"","sources":["../../src/suites/JsonWebSignature2020.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EACL,OAAO,EACP,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,cAAc,EACd,UAAU,EACV,iBAAiB,GAClB,MAAM,eAAe,CAAA;AAEtB;;;;GAIG;AACH,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC/D,4BAA4B;QAC1B,OAAO,gBAAgB,CAAA;QACrB,4GAA4G;IAChH,CAAC;IAED,yBAAyB;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAS,EACT,SAAiB,EACjB,oBAA4B,EAC5B,OAA4C;QAE5C,MAAM,UAAU,GAAG,SAAS,CAAA;QAE5B,aAAa;QACb,IAAI,EAAE,GAAG,oBAAoB,CAAA;QAE7B,MAAM,MAAM,GAAG;YACb,yBAAyB;YACzB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,OAAO;oBACZ,GAAG,EAAE,KAAK;oBACV,IAAI,EAAE,CAAC,KAAK,CAAC;iBACd,CAAA;gBACD,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;gBAC3C,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,iBAAiB,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;gBAChF,MAAM,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;oBACnD,MAAM,EAAE,GAAG,CAAC,GAAG;oBACf,SAAS,EAAE,OAAO;oBAClB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC;YAC5C,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,UAAU;YACtB,YAAY,EAAE;gBACZ,GAAG,EAAE,KAAK;gBACV,GAAG,EAAE,SAAS;gBACd,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;aAClD;SACF,CAAC,CAAA;QAEF,eAAe,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,MAAM,CAAA;QAErC,MAAM,KAAK,GAAG,IAAI,gBAAgB,CAAC;YACjC,GAAG,EAAE,eAAe;SACrB,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACvF,QAAQ,CAAC,UAAU,CAAC,GAAG;gBACrB,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBACtC,8CAA8C;aAC/C,CAAA;QACH,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,gBAAgB,EAAE,CAAA;IAC/B,CAAC;IAED,0BAA0B,CAAC,UAA6B;QACtD,MAAM;IACR,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,aAAa;QACb,OAAO,MAAM,CAAA;IACf,CAAC;CACF"}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.36.3"
8
+ "packageVersion": "7.40.6"
9
9
  }
10
10
  ]
11
11
  }
package/build/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { CredentialPayload, IAgentContext, IDIDManager, IKey, IKeyManager, IPluginMethodMap, IResolver, PresentationPayload, VerifiableCredential, VerifiablePresentation } from '@veramo/core-types';
1
+ import { CredentialPayload, IAgentContext, IDIDManager, IKey, IKeyManager, IPluginMethodMap, IResolver, PresentationPayload, UsingResolutionOptions, VerifiableCredential, VerifiablePresentation } from '@veramo/core-types';
2
2
  /**
3
3
  * The interface definition for a plugin that can issue and verify Verifiable Credentials and Presentations
4
4
  * that use JSON-LD format (also called Data Integrity Proofs).
@@ -81,7 +81,7 @@ export interface ICredentialIssuerLD extends IPluginMethodMap {
81
81
  *
82
82
  * @beta This API may change without a BREAKING CHANGE notice.
83
83
  */
84
- export interface ICreateVerifiablePresentationLDArgs {
84
+ export interface ICreateVerifiablePresentationLDArgs extends UsingResolutionOptions {
85
85
  /**
86
86
  * The json payload of the Presentation according to the
87
87
  * {@link https://www.w3.org/TR/vc-data-model/#presentations | canonical model}.
@@ -121,7 +121,7 @@ export interface ICreateVerifiablePresentationLDArgs {
121
121
  *
122
122
  * @beta This API may change without a BREAKING CHANGE notice.
123
123
  */
124
- export interface ICreateVerifiableCredentialLDArgs {
124
+ export interface ICreateVerifiableCredentialLDArgs extends UsingResolutionOptions {
125
125
  /**
126
126
  * The json payload of the Credential according to the
127
127
  * {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}
@@ -153,7 +153,7 @@ export interface ICreateVerifiableCredentialLDArgs {
153
153
  *
154
154
  * @beta This API may change without a BREAKING CHANGE notice
155
155
  */
156
- export interface IVerifyCredentialLDArgs {
156
+ export interface IVerifyCredentialLDArgs extends UsingResolutionOptions {
157
157
  /**
158
158
  * The json payload of the Credential according to the
159
159
  * {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}
@@ -180,7 +180,7 @@ export interface IVerifyCredentialLDArgs {
180
180
  *
181
181
  * @beta This API may change without a BREAKING CHANGE notice.
182
182
  */
183
- export interface IVerifyPresentationLDArgs {
183
+ export interface IVerifyPresentationLDArgs extends UsingResolutionOptions {
184
184
  /**
185
185
  * The json payload of the Credential according to the
186
186
  * {@link https://www.w3.org/TR/vc-data-model/#credentials | canonical model}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D;;;;;;;;;;;;;;OAcG;IACH,8BAA8B,CAC5B,IAAI,EAAE,mCAAmC,EACzC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAElC;;;;;;;;;;;;;OAaG;IACH,4BAA4B,CAC1B,IAAI,EAAE,iCAAiC,EACvC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,oBAAoB,CAAC,CAAA;IAEhC;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAE9F;;;;;;;;;;;OAWG;IACH,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAElG;;;;;;OAMG;IACH,kBAAkB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;CAC5E;AAED;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD;;;;;;;;OAQG;IACH,YAAY,EAAE,mBAAmB,CAAA;IAEjC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,iCAAiC;IAChD;;;;;;;;OAQG;IACH,UAAU,EAAE,iBAAiB,CAAA;IAE7B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;;;;OAOG;IACH,UAAU,EAAE,oBAAoB,CAAA;IAEhC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;;;;OAOG;IACH,YAAY,EAAE,sBAAsB,CAAA;IAEpC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAE7B;;OAEG;IACH,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAC1C,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,gBAAgB,CAAC,CACvG,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAChC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@veramo/credential-ld",
3
3
  "description": "Veramo plugin for working with W3C JSON-LD Verifiable Credentials & Presentations.",
4
- "version": "5.6.1-unstable.36+3ac343e52",
4
+ "version": "6.0.0",
5
5
  "main": "build/index.js",
6
6
  "exports": {
7
- ".": "./build/index.js",
8
- "./build/plugin.schema.json": "./build/plugin.schema.json"
7
+ ".": "./build/index.js"
9
8
  },
10
9
  "types": "build/index.d.ts",
11
10
  "scripts": {
@@ -18,17 +17,17 @@
18
17
  }
19
18
  },
20
19
  "dependencies": {
21
- "@digitalcredentials/ed25519-signature-2020": "^3.0.2",
20
+ "@digitalcredentials/ed25519-signature-2020": "^4.0.0",
22
21
  "@digitalcredentials/ed25519-verification-key-2020": "^4.0.0",
23
22
  "@digitalcredentials/jsonld": "^6.0.0",
24
- "@digitalcredentials/jsonld-signatures": "^9.3.2",
25
- "@digitalcredentials/vc": "^6.0.0",
23
+ "@digitalcredentials/jsonld-signatures": "^10.0.0",
24
+ "@digitalcredentials/vc": "^7.0.0",
26
25
  "@transmute/credentials-context": "^0.7.0-unstable.81",
27
26
  "@transmute/ed25519-signature-2018": "^0.7.0-unstable.81",
28
27
  "@transmute/json-web-signature": "^0.7.0-unstable.81",
29
28
  "@veramo-community/lds-ecdsa-secp256k1-recovery2020": "uport-project/EcdsaSecp256k1RecoverySignature2020",
30
- "@veramo/core-types": "^5.6.1-unstable.36+3ac343e52",
31
- "@veramo/utils": "^5.6.1-unstable.36+3ac343e52",
29
+ "@veramo/core-types": "^6.0.0",
30
+ "@veramo/utils": "^6.0.0",
32
31
  "cross-fetch": "^4.0.0",
33
32
  "debug": "^4.3.3",
34
33
  "did-resolver": "^4.1.0"
@@ -40,13 +39,12 @@
40
39
  "devDependencies": {
41
40
  "@types/debug": "4.1.8",
42
41
  "borc": "3.0.0",
43
- "typescript": "5.2.2"
42
+ "typescript": "5.3.3"
44
43
  },
45
44
  "files": [
46
45
  "build/**/*",
47
46
  "src/**/*",
48
47
  "contexts/**/*.json",
49
- "plugin.schema.json",
50
48
  "README.md",
51
49
  "LICENSE"
52
50
  ],
@@ -83,5 +81,5 @@
83
81
  "node_modules",
84
82
  "src"
85
83
  ],
86
- "gitHead": "3ac343e52dbd744c137bbe610cba9f5409a6100c"
84
+ "gitHead": "9a0e6bd1ec2d49e152b18d086decbe49e6f41028"
87
85
  }
@@ -10,7 +10,7 @@ import {
10
10
  VerifiablePresentation,
11
11
  } from '@veramo/core-types'
12
12
  import { VeramoLdSignature } from './index.js'
13
- import schema from './plugin.schema.json' assert { type: 'json' }
13
+ import { schema } from './plugin.schema.js'
14
14
  import Debug from 'debug'
15
15
  import { LdContextLoader } from './ld-context-loader.js'
16
16
  import {
@@ -37,6 +37,7 @@ import {
37
37
  IVerifyCredentialLDArgs,
38
38
  IVerifyPresentationLDArgs,
39
39
  } from './types.js'
40
+ import { DIDResolutionOptions } from 'did-resolver'
40
41
 
41
42
  const debug = Debug('veramo:credential-ld:action-handler')
42
43
 
@@ -114,6 +115,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
114
115
  context,
115
116
  identifier,
116
117
  args.keyRef,
118
+ args.resolutionOptions,
117
119
  )
118
120
 
119
121
  let { now } = args
@@ -169,6 +171,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
169
171
  context,
170
172
  identifier,
171
173
  args.keyRef,
174
+ args.resolutionOptions,
172
175
  )
173
176
 
174
177
  let { now } = args
@@ -202,12 +205,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
202
205
  now = new Date(now * 1000)
203
206
  }
204
207
 
205
- return this.ldCredentialModule.verifyCredential(
206
- credential,
207
- args.fetchRemoteContexts || false,
208
- { ...args, now },
209
- context,
210
- )
208
+ return this.ldCredentialModule.verifyCredential(credential, { ...args, now }, context)
211
209
  }
212
210
 
213
211
  /** {@inheritdoc ICredentialIssuerLD.verifyPresentationLD} */
@@ -224,7 +222,6 @@ export class CredentialIssuerLD implements IAgentPlugin {
224
222
  presentation,
225
223
  args.challenge,
226
224
  args.domain,
227
- args.fetchRemoteContexts || false,
228
225
  { ...args, now },
229
226
  context,
230
227
  )
@@ -234,8 +231,14 @@ export class CredentialIssuerLD implements IAgentPlugin {
234
231
  context: IAgentContext<IResolver>,
235
232
  identifier: IIdentifier,
236
233
  keyRef?: string,
234
+ resolutionOptions?: DIDResolutionOptions,
237
235
  ): Promise<{ signingKey: _ExtendedIKey; verificationMethodId: string }> {
238
- const extendedKeys: _ExtendedIKey[] = await mapIdentifierKeysToDoc(identifier, 'assertionMethod', context)
236
+ const extendedKeys: _ExtendedIKey[] = await mapIdentifierKeysToDoc(
237
+ identifier,
238
+ 'assertionMethod',
239
+ context,
240
+ resolutionOptions,
241
+ )
239
242
  let supportedTypes = this.ldCredentialModule.ldSuiteLoader.getAllSignatureSuiteTypes()
240
243
  let signingKey: _ExtendedIKey | undefined
241
244
  let verificationMethodId: string
@@ -264,7 +267,7 @@ export class CredentialIssuerLD implements IAgentPlugin {
264
267
 
265
268
  /**
266
269
  * Returns true if the key is supported by any of the installed LD Signature suites
267
- * @param k - the key to verify
270
+ * @param k - the key to match
268
271
  *
269
272
  * @internal
270
273
  */
package/src/index.ts CHANGED
@@ -17,4 +17,5 @@ export { VeramoLdSignature } from './ld-suites.js'
17
17
  export * from './suites/EcdsaSecp256k1RecoverySignature2020.js'
18
18
  export * from './suites/Ed25519Signature2018.js'
19
19
  export * from './suites/Ed25519Signature2020.js'
20
- export * from './suites/JsonWebSignature2020.js'
20
+ export * from './suites/JsonWebSignature2020.js'
21
+ export { schema } from './plugin.schema.js'
@@ -4,6 +4,7 @@ import {
4
4
  IKey,
5
5
  IResolver,
6
6
  PresentationPayload,
7
+ UsingResolutionOptions,
7
8
  VerifiableCredential,
8
9
  VerifiablePresentation,
9
10
  } from '@veramo/core-types'
@@ -19,6 +20,11 @@ import { RequiredAgentMethods } from './ld-suites.js'
19
20
 
20
21
  const debug = Debug('veramo:w3c:ld-credential-module')
21
22
 
23
+ type ForwardedOptions = UsingResolutionOptions & {
24
+ fetchRemoteContexts?: boolean // defaults to false
25
+ now?: number // defaults to Date.now()
26
+ }
27
+
22
28
  export class LdCredentialModule {
23
29
  /**
24
30
  * TODO: General Implementation Notes
@@ -36,16 +42,14 @@ export class LdCredentialModule {
36
42
  this.ldSuiteLoader = options.ldSuiteLoader
37
43
  }
38
44
 
39
- getDocumentLoader(
40
- context: IAgentContext<IResolver>,
41
- attemptToFetchContexts: boolean = false,
42
- ) {
45
+ getDocumentLoader(context: IAgentContext<IResolver>, options?: ForwardedOptions) {
43
46
  return extendContextLoader(async (url: string) => {
44
- // console.log(`resolving context for: ${url}`)
47
+ const resolutionOptions = { accept: 'application/did+ld+json', ...options?.resolutionOptions }
48
+ const attemptToFetchContexts = options?.fetchRemoteContexts ?? false
45
49
 
46
50
  // did resolution
47
51
  if (url.toLowerCase().startsWith('did:')) {
48
- const resolutionResult = await context.agent.resolveDid({ didUrl: url })
52
+ const resolutionResult = await context.agent.resolveDid({ didUrl: url, options: resolutionOptions })
49
53
  const didDoc = resolutionResult.didDocument
50
54
 
51
55
  if (!didDoc) return
@@ -55,8 +59,11 @@ export class LdCredentialModule {
55
59
  // currently, Veramo LD suites can modify the resolution response for DIDs from
56
60
  // the document Loader. This allows us to fix incompatibilities between DID Documents
57
61
  // and LD suites to be fixed specifically within the Veramo LD Suites definition
62
+ // TODO: every suite takes turns modifying the result, potentially leading to overwrites and incompatibilities
63
+ // between concurrent suites. Ideally, this should be performed by each suite only before it interacts with the
64
+ // document loader, to allow each suite to massage the verification methods into formats it knows about.
58
65
  for (const x of this.ldSuiteLoader.getAllSignatureSuites()) {
59
- result = (await x.preDidResolutionModification(url, result, context)) || result;
66
+ result = (await x.preDidResolutionModification(url, result, context)) || result
60
67
  }
61
68
 
62
69
  // console.log(`Returning from Documentloader: ${JSON.stringify(returnDocument)}`)
@@ -107,14 +114,15 @@ export class LdCredentialModule {
107
114
  issuerDid: string,
108
115
  key: IKey,
109
116
  verificationMethodId: string,
110
- options: any,
117
+ options: ForwardedOptions,
111
118
  context: IAgentContext<RequiredAgentMethods>,
112
119
  ): Promise<VerifiableCredential> {
120
+ // TODO: try multiple matching suites until one works or list is exhausted
113
121
  const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
114
122
  key.type,
115
123
  key.meta?.verificationMethod?.type ?? '',
116
- )
117
- const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts)
124
+ )[0]
125
+ const documentLoader = this.getDocumentLoader(context, options)
118
126
 
119
127
  // some suites can modify the incoming credential (e.g. add required contexts)
120
128
  suite.preSigningCredModification(credential)
@@ -135,14 +143,15 @@ export class LdCredentialModule {
135
143
  verificationMethodId: string,
136
144
  challenge: string | undefined,
137
145
  domain: string | undefined,
138
- options: any,
146
+ options: ForwardedOptions,
139
147
  context: IAgentContext<RequiredAgentMethods>,
140
148
  ): Promise<VerifiablePresentation> {
149
+ // TODO: try multiple matching suites until one works or list is exhausted
141
150
  const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
142
151
  key.type,
143
152
  key.meta?.verificationMethod?.type ?? '',
144
- )
145
- const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts)
153
+ )[0]
154
+ const documentLoader = this.getDocumentLoader(context, options)
146
155
 
147
156
  suite.preSigningPresModification(presentation)
148
157
 
@@ -159,15 +168,15 @@ export class LdCredentialModule {
159
168
 
160
169
  async verifyCredential(
161
170
  credential: VerifiableCredential,
162
- fetchRemoteContexts: boolean = false,
163
- options: any,
171
+ options: ForwardedOptions,
164
172
  context: IAgentContext<IResolver>,
165
173
  ): Promise<boolean> {
174
+ const fetchRemoteContexts = options.fetchRemoteContexts ?? false
166
175
  const result = await vc.verifyCredential({
167
176
  ...options,
168
177
  credential,
169
178
  suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
170
- documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
179
+ documentLoader: this.getDocumentLoader(context, { ...options, fetchRemoteContexts }),
171
180
  compactProof: false,
172
181
  checkStatus: async () => Promise.resolve({ verified: true }), // Fake method
173
182
  })
@@ -184,15 +193,15 @@ export class LdCredentialModule {
184
193
  presentation: VerifiablePresentation,
185
194
  challenge: string | undefined,
186
195
  domain: string | undefined,
187
- fetchRemoteContexts: boolean = false,
188
- options: any,
196
+ options: ForwardedOptions,
189
197
  context: IAgentContext<IResolver>,
190
198
  ): Promise<boolean> {
199
+ const fetchRemoteContexts = options.fetchRemoteContexts ?? false
191
200
  const result = await vc.verify({
192
201
  ...options,
193
202
  presentation,
194
203
  suite: this.ldSuiteLoader.getAllSignatureSuites().map((x) => x.getSuiteForVerification()),
195
- documentLoader: this.getDocumentLoader(context, fetchRemoteContexts),
204
+ documentLoader: this.getDocumentLoader(context, { ...options, fetchRemoteContexts }),
196
205
  challenge,
197
206
  domain,
198
207
  compactProof: false,
@@ -1,23 +1,23 @@
1
1
  import { VeramoLdSignature } from './ld-suites.js'
2
2
  import { TKeyType } from '@veramo/core-types'
3
+ import { asArray } from '@veramo/utils'
3
4
 
4
5
  /**
5
6
  * Initializes a list of Veramo-wrapped LD Signature suites and exposes those to the Agent Module
6
7
  */
7
8
  export class LdSuiteLoader {
8
9
  constructor(options: { veramoLdSignatures: VeramoLdSignature[] }) {
9
- options.veramoLdSignatures.forEach((obj) => {
10
- // FIXME: some suites would work for multiple key types, but this only returns a single value per suite.
11
- // For example, EcdsaSecp256k1RecoverySignature2020 should work with both EcdsaSecp256k1VerificationKey2019
12
- // as well as EcdsaSecp256k1RecoveryMethod2020 since the VerificationKey can also be expressed as the recovery
13
- // method.
14
- const keyType = obj.getSupportedVeramoKeyType()
15
- const verificationType = obj.getSupportedVerificationType()
16
- return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], [verificationType]: obj })
10
+ options.veramoLdSignatures.forEach((ldSuite) => {
11
+ const keyType = ldSuite.getSupportedVeramoKeyType()
12
+ let verifierMapping = this.signatureMap[keyType] ?? {}
13
+ asArray(ldSuite.getSupportedVerificationType()).forEach((verificationType) => {
14
+ verifierMapping[verificationType] = [...(verifierMapping[verificationType] ?? []), ldSuite]
15
+ })
16
+ return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], ...verifierMapping })
17
17
  })
18
18
  }
19
19
 
20
- private signatureMap: Record<string, Record<string, VeramoLdSignature>> = {}
20
+ private signatureMap: Record<string, Record<string, VeramoLdSignature[]>> = {}
21
21
 
22
22
  getSignatureSuiteForKeyType(type: TKeyType, verificationType: string) {
23
23
  const suite = this.signatureMap[type]?.[verificationType]
@@ -29,7 +29,7 @@ export class LdSuiteLoader {
29
29
  getAllSignatureSuites(): VeramoLdSignature[] {
30
30
  return Object.values(this.signatureMap)
31
31
  .map((x) => Object.values(x))
32
- .flat()
32
+ .flat(2)
33
33
  }
34
34
 
35
35
  getAllSignatureSuiteTypes() {
package/src/ld-suites.ts CHANGED
@@ -23,7 +23,7 @@ export abstract class VeramoLdSignature {
23
23
  // Add type definition as soon as https://github.com/digitalbazaar/jsonld-signatures
24
24
  // supports those.
25
25
 
26
- abstract getSupportedVerificationType(): string
26
+ abstract getSupportedVerificationType(): string | string[]
27
27
 
28
28
  abstract getSupportedVeramoKeyType(): TKeyType
29
29