@veramo/credential-ld 5.6.1-next.42 → 5.6.1-next.44

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 (32) hide show
  1. package/build/ld-credential-module.d.ts.map +1 -1
  2. package/build/ld-credential-module.js +7 -2
  3. package/build/ld-credential-module.js.map +1 -1
  4. package/build/ld-suite-loader.d.ts +1 -1
  5. package/build/ld-suite-loader.d.ts.map +1 -1
  6. package/build/ld-suite-loader.js +9 -9
  7. package/build/ld-suite-loader.js.map +1 -1
  8. package/build/ld-suites.d.ts +1 -1
  9. package/build/ld-suites.d.ts.map +1 -1
  10. package/build/suites/EcdsaSecp256k1RecoverySignature2020.d.ts.map +1 -1
  11. package/build/suites/EcdsaSecp256k1RecoverySignature2020.js +3 -1
  12. package/build/suites/EcdsaSecp256k1RecoverySignature2020.js.map +1 -1
  13. package/build/suites/Ed25519Signature2018.d.ts +1 -1
  14. package/build/suites/Ed25519Signature2018.d.ts.map +1 -1
  15. package/build/suites/Ed25519Signature2018.js +3 -2
  16. package/build/suites/Ed25519Signature2018.js.map +1 -1
  17. package/build/suites/Ed25519Signature2020.d.ts +1 -1
  18. package/build/suites/Ed25519Signature2020.d.ts.map +1 -1
  19. package/build/suites/Ed25519Signature2020.js +3 -2
  20. package/build/suites/Ed25519Signature2020.js.map +1 -1
  21. package/build/suites/JsonWebSignature2020.d.ts +1 -1
  22. package/build/suites/JsonWebSignature2020.d.ts.map +1 -1
  23. package/build/suites/JsonWebSignature2020.js +2 -1
  24. package/build/suites/JsonWebSignature2020.js.map +1 -1
  25. package/package.json +4 -4
  26. package/src/ld-credential-module.ts +9 -7
  27. package/src/ld-suite-loader.ts +10 -10
  28. package/src/ld-suites.ts +1 -1
  29. package/src/suites/EcdsaSecp256k1RecoverySignature2020.ts +3 -1
  30. package/src/suites/Ed25519Signature2018.ts +4 -3
  31. package/src/suites/Ed25519Signature2020.ts +4 -3
  32. package/src/suites/JsonWebSignature2020.ts +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ld-credential-module.d.ts","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAIrD,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IAEH,OAAO,CAAC,eAAe,CAAiB;IACxC,aAAa,EAAE,aAAa,CAAA;gBAEhB,OAAO,EAAE;QAAE,eAAe,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAKvF,iBAAiB,CACf,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EACjC,sBAAsB,GAAE,OAAe;IAgEnC,2BAA2B,CAC/B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAmB1B,4BAA4B,CAChC,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAoB5B,gBAAgB,CACpB,UAAU,EAAE,oBAAoB,EAChC,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;IAkBb,kBAAkB,CACtB,YAAY,EAAE,sBAAsB,EACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;CAiBpB"}
1
+ {"version":3,"file":"ld-credential-module.d.ts","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,oBAAoB,CAAA;AAO3B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAIrD,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IAEH,OAAO,CAAC,eAAe,CAAiB;IACxC,aAAa,EAAE,aAAa,CAAA;gBAEhB,OAAO,EAAE;QAAE,eAAe,EAAE,eAAe,CAAC;QAAC,aAAa,EAAE,aAAa,CAAA;KAAE;IAKvF,iBAAiB,CAAC,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,EAAE,sBAAsB,GAAE,OAAe;IAkEtF,2BAA2B,CAC/B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,oBAAoB,CAAC;IAoB1B,4BAA4B,CAChC,YAAY,EAAE,mBAAmB,EACjC,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,IAAI,EACT,oBAAoB,EAAE,MAAM,EAC5B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,OAAO,CAAC,sBAAsB,CAAC;IAqB5B,gBAAgB,CACpB,UAAU,EAAE,oBAAoB,EAChC,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;IAkBb,kBAAkB,CACtB,YAAY,EAAE,sBAAsB,EACpC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,mBAAmB,qBAAiB,EACpC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAChC,OAAO,CAAC,OAAO,CAAC;CAiBpB"}
@@ -31,6 +31,9 @@ export class LdCredentialModule {
31
31
  // currently, Veramo LD suites can modify the resolution response for DIDs from
32
32
  // the document Loader. This allows us to fix incompatibilities between DID Documents
33
33
  // and LD suites to be fixed specifically within the Veramo LD Suites definition
34
+ // TODO: every suite takes turns modifying the result, potentially leading to overwrites and incompatibilities
35
+ // between concurrent suites. Ideally, this should be performed by each suite only before it interacts with the
36
+ // document loader, to allow each suite to massage the verification methods into formats it knows about.
34
37
  for (const x of this.ldSuiteLoader.getAllSignatureSuites()) {
35
38
  result = (await x.preDidResolutionModification(url, result, context)) || result;
36
39
  }
@@ -74,7 +77,8 @@ export class LdCredentialModule {
74
77
  });
75
78
  }
76
79
  async issueLDVerifiableCredential(credential, issuerDid, key, verificationMethodId, options, context) {
77
- const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type ?? '');
80
+ // TODO: try multiple matching suites until one works or list is exhausted
81
+ const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type ?? '')[0];
78
82
  const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts);
79
83
  // some suites can modify the incoming credential (e.g. add required contexts)
80
84
  suite.preSigningCredModification(credential);
@@ -87,7 +91,8 @@ export class LdCredentialModule {
87
91
  });
88
92
  }
89
93
  async signLDVerifiablePresentation(presentation, holderDid, key, verificationMethodId, challenge, domain, options, context) {
90
- const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type ?? '');
94
+ // TODO: try multiple matching suites until one works or list is exhausted
95
+ const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(key.type, key.meta?.verificationMethod?.type ?? '')[0];
91
96
  const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts);
92
97
  suite.preSigningPresModification(presentation);
93
98
  return await vc.signPresentation({
@@ -1 +1 @@
1
- {"version":3,"file":"ld-credential-module.js","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ld-credential-module.js","sourceRoot":"","sources":["../src/ld-credential-module.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class LdSuiteLoader {
8
8
  veramoLdSignatures: VeramoLdSignature[];
9
9
  });
10
10
  private signatureMap;
11
- getSignatureSuiteForKeyType(type: TKeyType, verificationType: string): VeramoLdSignature;
11
+ getSignatureSuiteForKeyType(type: TKeyType, verificationType: string): VeramoLdSignature[];
12
12
  getAllSignatureSuites(): VeramoLdSignature[];
13
13
  getAllSignatureSuiteTypes(): string[];
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ld-suite-loader.d.ts","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C;;GAEG;AACH,qBAAa,aAAa;gBACZ,OAAO,EAAE;QAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;KAAE;IAYhE,OAAO,CAAC,YAAY,CAAwD;IAE5E,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM;IAOpE,qBAAqB,IAAI,iBAAiB,EAAE;IAM5C,yBAAyB;CAK1B"}
1
+ {"version":3,"file":"ld-suite-loader.d.ts","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAG7C;;GAEG;AACH,qBAAa,aAAa;gBACZ,OAAO,EAAE;QAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAA;KAAE;IAWhE,OAAO,CAAC,YAAY,CAA0D;IAE9E,2BAA2B,CAAC,IAAI,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM;IAOpE,qBAAqB,IAAI,iBAAiB,EAAE;IAM5C,yBAAyB;CAK1B"}
@@ -1,16 +1,16 @@
1
+ import { asArray } from '@veramo/utils';
1
2
  /**
2
3
  * Initializes a list of Veramo-wrapped LD Signature suites and exposes those to the Agent Module
3
4
  */
4
5
  export class LdSuiteLoader {
5
6
  constructor(options) {
6
- options.veramoLdSignatures.forEach((obj) => {
7
- // FIXME: some suites would work for multiple key types, but this only returns a single value per suite.
8
- // For example, EcdsaSecp256k1RecoverySignature2020 should work with both EcdsaSecp256k1VerificationKey2019
9
- // as well as EcdsaSecp256k1RecoveryMethod2020 since the VerificationKey can also be expressed as the recovery
10
- // method.
11
- const keyType = obj.getSupportedVeramoKeyType();
12
- const verificationType = obj.getSupportedVerificationType();
13
- return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], [verificationType]: obj });
7
+ options.veramoLdSignatures.forEach((ldSuite) => {
8
+ const keyType = ldSuite.getSupportedVeramoKeyType();
9
+ let verifierMapping = this.signatureMap[keyType] ?? {};
10
+ asArray(ldSuite.getSupportedVerificationType()).forEach((verificationType) => {
11
+ verifierMapping[verificationType] = [...(verifierMapping[verificationType] ?? []), ldSuite];
12
+ });
13
+ return (this.signatureMap[keyType] = { ...this.signatureMap[keyType], ...verifierMapping });
14
14
  });
15
15
  }
16
16
  signatureMap = {};
@@ -23,7 +23,7 @@ export class LdSuiteLoader {
23
23
  getAllSignatureSuites() {
24
24
  return Object.values(this.signatureMap)
25
25
  .map((x) => Object.values(x))
26
- .flat();
26
+ .flat(2);
27
27
  }
28
28
  getAllSignatureSuiteTypes() {
29
29
  return Object.values(this.signatureMap)
@@ -1 +1 @@
1
- {"version":3,"file":"ld-suite-loader.js","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,YAAY,OAAoD;QAC9D,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,wGAAwG;YACxG,iHAAiH;YACjH,oHAAoH;YACpH,gBAAgB;YAChB,MAAM,OAAO,GAAG,GAAG,CAAC,yBAAyB,EAAE,CAAA;YAC/C,MAAM,gBAAgB,GAAG,GAAG,CAAC,4BAA4B,EAAE,CAAA;YAC3D,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAClG,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,GAAsD,EAAE,CAAA;IAE5E,2BAA2B,CAAC,IAAc,EAAE,gBAAwB;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAA;QACzD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QAEvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,qBAAqB;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC5B,IAAI,EAAE,CAAA;IACX,CAAC;IAED,yBAAyB;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1B,IAAI,EAAE,CAAA;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"ld-suite-loader.js","sourceRoot":"","sources":["../src/ld-suite-loader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEvC;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,YAAY,OAAoD;QAC9D,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,yBAAyB,EAAE,CAAA;YACnD,IAAI,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YACtD,OAAO,CAAC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBAC3E,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;YAC7F,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,eAAe,EAAE,CAAC,CAAA;QAC7F,CAAC,CAAC,CAAA;IACJ,CAAC;IAEO,YAAY,GAAwD,EAAE,CAAA;IAE9E,2BAA2B,CAAC,IAAc,EAAE,gBAAwB;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAA;QACzD,IAAI,KAAK;YAAE,OAAO,KAAK,CAAA;QAEvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,qBAAqB;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAC5B,IAAI,CAAC,CAAC,CAAC,CAAA;IACZ,CAAC;IAED,yBAAyB;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;aACpC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC1B,IAAI,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -7,7 +7,7 @@ export type RequiredAgentMethods = IResolver & Pick<IKeyManager, 'keyManagerGet'
7
7
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
8
8
  */
9
9
  export declare abstract class VeramoLdSignature {
10
- abstract getSupportedVerificationType(): string;
10
+ abstract getSupportedVerificationType(): string | string[];
11
11
  abstract getSupportedVeramoKeyType(): TKeyType;
12
12
  abstract getSuiteForSigning(key: IKey, issuerDid: string, verificationMethodId: string, context: IAgentContext<RequiredAgentMethods>): any;
13
13
  abstract getSuiteForVerification(): any;
@@ -1 +1 @@
1
- {"version":3,"file":"ld-suites.d.ts","sourceRoot":"","sources":["../src/ld-suites.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAEpG;;;;GAIG;AACH,8BAAsB,iBAAiB;IAMrC,QAAQ,CAAC,4BAA4B,IAAI,MAAM;IAE/C,QAAQ,CAAC,yBAAyB,IAAI,QAAQ;IAE9C,QAAQ,CAAC,kBAAkB,CACzB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IAEN,QAAQ,CAAC,uBAAuB,IAAI,GAAG;IAEvC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;IAEvK,QAAQ,CAAC,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAExE,0BAA0B,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;CAQpE"}
1
+ {"version":3,"file":"ld-suites.d.ts","sourceRoot":"","sources":["../src/ld-suites.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,IAAI,EACJ,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACT,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,gBAAgB,CAAC,CAAA;AAEpG;;;;GAIG;AACH,8BAAsB,iBAAiB;IAMrC,QAAQ,CAAC,4BAA4B,IAAI,MAAM,GAAG,MAAM,EAAE;IAE1D,QAAQ,CAAC,yBAAyB,IAAI,QAAQ;IAE9C,QAAQ,CAAC,kBAAkB,CACzB,GAAG,EAAE,IAAI,EACT,SAAS,EAAE,MAAM,EACjB,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IAEN,QAAQ,CAAC,uBAAuB,IAAI,GAAG;IAEvC,QAAQ,CAAC,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,eAAe,EAAE,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,WAAW,GAAG,eAAe,CAAC;IAEvK,QAAQ,CAAC,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAExE,0BAA0B,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI;CAQpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"AAAA,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;AAMlG;;;;GAIG;AACH,qBAAa,yCAA0C,SAAQ,iBAAiB;IAC9E,4BAA4B,IAAI,MAAM;IAItC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IAyCN,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAEzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAkC7F,UAAU,IAAI,MAAM;CAGrB"}
1
+ {"version":3,"file":"EcdsaSecp256k1RecoverySignature2020.d.ts","sourceRoot":"","sources":["../../src/suites/EcdsaSecp256k1RecoverySignature2020.ts"],"names":[],"mappings":"AAAA,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;AAMlG;;;;GAIG;AACH,qBAAa,yCAA0C,SAAQ,iBAAiB;IAC9E,4BAA4B,IAAI,MAAM;IAMtC,yBAAyB,IAAI,QAAQ;IAIrC,kBAAkB,CAChB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,MAAM,EACX,kBAAkB,EAAE,MAAM,EAC1B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,GAC3C,GAAG;IAyCN,uBAAuB,IAAI,GAAG;IAI9B,0BAA0B,CAAC,UAAU,EAAE,iBAAiB,GAAG,IAAI;IAEzD,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAkC7F,UAAU,IAAI,MAAM;CAGrB"}
@@ -10,6 +10,8 @@ const { EcdsaSecp256k1RecoveryMethod2020, EcdsaSecp256k1RecoverySignature2020 }
10
10
  export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature {
11
11
  getSupportedVerificationType() {
12
12
  return 'EcdsaSecp256k1RecoveryMethod2020';
13
+ // TODO: add support for ['EcdsaSecp256k1VerificationKey2020', 'EcdsaSecp256k1VerificationKey2019',
14
+ // 'JsonWebKey2020', 'Multikey']
13
15
  }
14
16
  getSupportedVeramoKeyType() {
15
17
  return 'Secp256k1';
@@ -41,7 +43,7 @@ export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature
41
43
  key: new EcdsaSecp256k1RecoveryMethod2020({
42
44
  publicKeyHex: key.publicKeyHex,
43
45
  signer: () => signer,
44
- type: this.getSupportedVerificationType(),
46
+ type: 'EcdsaSecp256k1RecoveryMethod2020',
45
47
  controller,
46
48
  id: verifiableMethodId,
47
49
  }),
@@ -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":"AAAA,OAAO,EAAwB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,QAAQ,MAAM,oDAAoD,CAAA;AACzE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE5G,MAAM,EAAE,gCAAgC,EAAE,mCAAmC,EAAE,GAAG,QAAQ,CAAA;AAE1F;;;;GAIG;AACH,MAAM,OAAO,yCAA0C,SAAQ,iBAAiB;IAC9E,4BAA4B;QAC1B,OAAO,kCAAkC,CAAA;QACzC,mGAAmG;QACnG,gCAAgC;IAClC,CAAC;IAED,yBAAyB;QACvB,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,kBAAkB,CAChB,GAAS,EACT,GAAW,EACX,kBAA0B,EAC1B,OAA4C;QAE5C,MAAM,UAAU,GAAG,GAAG,CAAA;QACtB,MAAM,MAAM,GAAG;YACb,wBAAwB;YACxB,IAAI,EAAE,KAAK,EAAE,IAA0B,EAAmB,EAAE;gBAC1D,MAAM,MAAM,GAAG;oBACb,GAAG,EAAE,UAAU;oBACf,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,UAAU;oBACrB,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,QAAQ;iBACnB,CAAC,CAAA;gBACF,OAAO,GAAG,YAAY,KAAK,SAAS,EAAE,CAAA;YACxC,CAAC;SACF,CAAA;QAED,MAAM,KAAK,GAAG,IAAI,mCAAmC,CAAC;YACpD,UAAU;YACV,GAAG,EAAE,IAAI,gCAAgC,CAAC;gBACxC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM;gBACpB,IAAI,EAAE,kCAAkC;gBACxC,UAAU;gBACV,EAAE,EAAE,kBAAkB;aACvB,CAAC;SACH,CAAC,CAAA;QAEF,KAAK,CAAC,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAA+C,EAAE,EAAE;YACvF,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACpF,CAAC,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC;IAED,uBAAuB;QACrB,OAAO,IAAI,mCAAmC,EAAE,CAAA;IAClD,CAAC;IAED,0BAA0B,CAAC,UAA6B,IAAS,CAAC;IAElE,KAAK,CAAC,4BAA4B,CAAC,MAAc,EAAE,MAAmB;QACpE,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;QACvC,MAAM,aAAa,GACjB,6GAA6G,CAAA;QAC/G,MAAM,eAAe,GAAG,uCAAuC,CAAA;QAE/D,6DAA6D;QAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;SAC7B;QAED,+GAA+G;QAC/G,gHAAgH;QAChH,mBAAmB;QACnB,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE;YACpE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAA;SAC5C;QACD,MAAM,CAAC,UAAU,CAAC,GAAG,GAAG,CAAA;QAExB,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAC/C,oFAAoF;YACpF,MAAM,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACvC,IAAI,CAAC,CAAC,mBAAmB,EAAE;oBACzB,IAAI,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE;wBACxD,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;wBAChE,CAAC,CAAC,mBAAmB,GAAG,UAAU,KAAK,IAAI,OAAO,EAAE,CAAA;qBACrD;iBACF;YACH,CAAC,CAAC,CAAA;SACH;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,UAAU;QACR,OAAO,4DAA4D,CAAA;IACrE,CAAC;CACF"}
@@ -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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
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-next.42+7896ceaf2",
4
+ "version": "5.6.1-next.44+8e3b94cf9",
5
5
  "main": "build/index.js",
6
6
  "exports": {
7
7
  ".": "./build/index.js"
@@ -26,8 +26,8 @@
26
26
  "@transmute/ed25519-signature-2018": "^0.7.0-unstable.81",
27
27
  "@transmute/json-web-signature": "^0.7.0-unstable.81",
28
28
  "@veramo-community/lds-ecdsa-secp256k1-recovery2020": "uport-project/EcdsaSecp256k1RecoverySignature2020",
29
- "@veramo/core-types": "^5.6.1-next.42+7896ceaf2",
30
- "@veramo/utils": "^5.6.1-next.42+7896ceaf2",
29
+ "@veramo/core-types": "^5.6.1-next.44+8e3b94cf9",
30
+ "@veramo/utils": "^5.6.1-next.44+8e3b94cf9",
31
31
  "cross-fetch": "^4.0.0",
32
32
  "debug": "^4.3.3",
33
33
  "did-resolver": "^4.1.0"
@@ -81,5 +81,5 @@
81
81
  "node_modules",
82
82
  "src"
83
83
  ],
84
- "gitHead": "7896ceaf2c79993eee44e46950814bea74bfe647"
84
+ "gitHead": "8e3b94cf997619d7adcb5cb8827e0f55ff88cdb5"
85
85
  }
@@ -36,10 +36,7 @@ export class LdCredentialModule {
36
36
  this.ldSuiteLoader = options.ldSuiteLoader
37
37
  }
38
38
 
39
- getDocumentLoader(
40
- context: IAgentContext<IResolver>,
41
- attemptToFetchContexts: boolean = false,
42
- ) {
39
+ getDocumentLoader(context: IAgentContext<IResolver>, attemptToFetchContexts: boolean = false) {
43
40
  return extendContextLoader(async (url: string) => {
44
41
  // console.log(`resolving context for: ${url}`)
45
42
 
@@ -55,8 +52,11 @@ export class LdCredentialModule {
55
52
  // currently, Veramo LD suites can modify the resolution response for DIDs from
56
53
  // the document Loader. This allows us to fix incompatibilities between DID Documents
57
54
  // and LD suites to be fixed specifically within the Veramo LD Suites definition
55
+ // TODO: every suite takes turns modifying the result, potentially leading to overwrites and incompatibilities
56
+ // between concurrent suites. Ideally, this should be performed by each suite only before it interacts with the
57
+ // document loader, to allow each suite to massage the verification methods into formats it knows about.
58
58
  for (const x of this.ldSuiteLoader.getAllSignatureSuites()) {
59
- result = (await x.preDidResolutionModification(url, result, context)) || result;
59
+ result = (await x.preDidResolutionModification(url, result, context)) || result
60
60
  }
61
61
 
62
62
  // console.log(`Returning from Documentloader: ${JSON.stringify(returnDocument)}`)
@@ -110,10 +110,11 @@ export class LdCredentialModule {
110
110
  options: any,
111
111
  context: IAgentContext<RequiredAgentMethods>,
112
112
  ): Promise<VerifiableCredential> {
113
+ // TODO: try multiple matching suites until one works or list is exhausted
113
114
  const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
114
115
  key.type,
115
116
  key.meta?.verificationMethod?.type ?? '',
116
- )
117
+ )[0]
117
118
  const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts)
118
119
 
119
120
  // some suites can modify the incoming credential (e.g. add required contexts)
@@ -138,10 +139,11 @@ export class LdCredentialModule {
138
139
  options: any,
139
140
  context: IAgentContext<RequiredAgentMethods>,
140
141
  ): Promise<VerifiablePresentation> {
142
+ // TODO: try multiple matching suites until one works or list is exhausted
141
143
  const suite = this.ldSuiteLoader.getSignatureSuiteForKeyType(
142
144
  key.type,
143
145
  key.meta?.verificationMethod?.type ?? '',
144
- )
146
+ )[0]
145
147
  const documentLoader = this.getDocumentLoader(context, options.fetchRemoteContexts)
146
148
 
147
149
  suite.preSigningPresModification(presentation)
@@ -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
 
@@ -13,6 +13,8 @@ const { EcdsaSecp256k1RecoveryMethod2020, EcdsaSecp256k1RecoverySignature2020 }
13
13
  export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature {
14
14
  getSupportedVerificationType(): string {
15
15
  return 'EcdsaSecp256k1RecoveryMethod2020'
16
+ // TODO: add support for ['EcdsaSecp256k1VerificationKey2020', 'EcdsaSecp256k1VerificationKey2019',
17
+ // 'JsonWebKey2020', 'Multikey']
16
18
  }
17
19
 
18
20
  getSupportedVeramoKeyType(): TKeyType {
@@ -52,7 +54,7 @@ export class VeramoEcdsaSecp256k1RecoverySignature2020 extends VeramoLdSignature
52
54
  key: new EcdsaSecp256k1RecoveryMethod2020({
53
55
  publicKeyHex: key.publicKeyHex,
54
56
  signer: () => signer,
55
- type: this.getSupportedVerificationType(),
57
+ type: 'EcdsaSecp256k1RecoveryMethod2020',
56
58
  controller,
57
59
  id: verifiableMethodId,
58
60
  }),
@@ -9,8 +9,9 @@ import { Ed25519Signature2018, Ed25519VerificationKey2018 } from '@transmute/ed2
9
9
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
10
10
  */
11
11
  export class VeramoEd25519Signature2018 extends VeramoLdSignature {
12
- getSupportedVerificationType(): string {
13
- return 'Ed25519VerificationKey2018'
12
+ getSupportedVerificationType(): string[] {
13
+ return ['Ed25519VerificationKey2018', 'JsonWebKey2020']
14
+ // TODO: add support for ['Ed25519VerificationKey2020', 'Multikey']
14
15
  }
15
16
 
16
17
  getSupportedVeramoKeyType(): TKeyType {
@@ -54,7 +55,7 @@ export class VeramoEd25519Signature2018 extends VeramoLdSignature {
54
55
  controller,
55
56
  publicKey: hexToBytes(key.publicKeyHex),
56
57
  signer: () => signer,
57
- type: this.getSupportedVerificationType(),
58
+ type: 'Ed25519VerificationKey2018',
58
59
  })
59
60
  // overwrite the signer since we're not passing the private key and transmute doesn't support that behavior
60
61
  verificationKey.signer = () => signer as any
@@ -30,8 +30,9 @@ const debug = Debug('veramo:credential-ld:Ed25519Signature2020')
30
30
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
31
31
  */
32
32
  export class VeramoEd25519Signature2020 extends VeramoLdSignature {
33
- getSupportedVerificationType(): string {
34
- return 'Ed25519VerificationKey2020'
33
+ getSupportedVerificationType(): string[] {
34
+ return ['Ed25519VerificationKey2020', 'Ed25519VerificationKey2018']
35
+ // TODO: add support for ['JsonWebKey2020', 'Multikey']
35
36
  }
36
37
 
37
38
  getSupportedVeramoKeyType(): TKeyType {
@@ -72,7 +73,7 @@ export class VeramoEd25519Signature2020 extends VeramoLdSignature {
72
73
  })
73
74
  // overwrite the signer since we're not passing the private key
74
75
  verificationKey.signer = () => signer as any
75
- verificationKey.type = this.getSupportedVerificationType()
76
+ verificationKey.type = 'Ed25519VerificationKey2020'
76
77
  return new Ed25519Signature2020({
77
78
  key: verificationKey,
78
79
  signer: signer,
@@ -17,8 +17,9 @@ import {
17
17
  * @alpha This API is experimental and is very likely to change or disappear in future releases without notice.
18
18
  */
19
19
  export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
20
- getSupportedVerificationType(): 'JsonWebKey2020' {
20
+ getSupportedVerificationType(): string {
21
21
  return 'JsonWebKey2020'
22
+ // TODO: add support for ['Ed25519VerificationKey2018', 'Ed25519VerificationKey2020', 'Multikey'] and others
22
23
  }
23
24
 
24
25
  getSupportedVeramoKeyType(): TKeyType {
@@ -59,7 +60,7 @@ export class VeramoJsonWebSignature2020 extends VeramoLdSignature {
59
60
 
60
61
  const verificationKey = await JsonWebKey.from({
61
62
  id: id,
62
- type: this.getSupportedVerificationType(),
63
+ type: 'JsonWebKey2020',
63
64
  controller: controller,
64
65
  publicKeyJwk: {
65
66
  kty: 'OKP',