@learncard/vc-plugin 1.1.8 → 1.1.10

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.
@@ -0,0 +1,7 @@
1
+ import { VCImplicitLearnCard } from './types';
2
+ /**
3
+ * Determines the default verification method to use for a given did by resolving it and looking
4
+ * for a keypair that matches the default keypair for the LearnCard
5
+ */
6
+ export declare const getDefaultVerificationMethod: (learnCard: VCImplicitLearnCard, issuerDid: string) => Promise<string>;
7
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,cAC1B,mBAAmB,aACnB,MAAM,oBAsBpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"issueCredential.d.ts","sourceRoot":"","sources":["../src/issueCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEpE,eAAO,MAAM,eAAe,kBAAmB,oBAAoB,iBAEhD,mBAAmB,cAClB,UAAU,mBACN,QAAQ,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB5C,CAAC"}
1
+ {"version":3,"file":"issueCredential.d.ts","sourceRoot":"","sources":["../src/issueCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,eAAe,kBAAmB,oBAAoB,iBAEhD,mBAAmB,cAClB,UAAU,mBACN,QAAQ,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"issuePresentation.d.ts","sourceRoot":"","sources":["../src/issuePresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEpE,eAAO,MAAM,iBAAiB,kBAAmB,oBAAoB,iBAElD,mBAAmB,gBAChB,UAAU,mBACR,QAAQ,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmB5C,CAAC"}
1
+ {"version":3,"file":"issuePresentation.d.ts","sourceRoot":"","sources":["../src/issuePresentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,iBAAiB,kBAAmB,oBAAoB,iBAElD,mBAAmB,gBAChB,UAAU,mBACR,QAAQ,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsB5C,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { JWK, UnsignedVC, VC, UnsignedVP, VP, VerificationCheck } from '@learncard/types';
1
+ import { JWK, UnsignedVC, VC, UnsignedVP, VP, VerificationCheck, DidDocument } from '@learncard/types';
2
2
  import { Plugin, LearnCard } from '@learncard/core';
3
3
  import { ProofOptions, InputMetadata } from '@learncard/didkit-plugin';
4
4
  /** @group VC Plugin */
@@ -11,7 +11,7 @@ export type VCPluginDependentMethods = {
11
11
  verifyCredential: (credential: VC, options?: ProofOptions) => Promise<VerificationCheck>;
12
12
  issuePresentation: (presentation: UnsignedVP, options: ProofOptions, keypair: JWK) => Promise<VP>;
13
13
  verifyPresentation: (presentation: VP | string, options?: ProofOptions) => Promise<VerificationCheck>;
14
- resolveDid: (did: string, inputMetadata?: InputMetadata) => Promise<Record<string, any>>;
14
+ resolveDid: (did: string, inputMetadata?: InputMetadata) => Promise<DidDocument>;
15
15
  };
16
16
  /** @group VC Plugin */
17
17
  export type VCPluginMethods = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -24,19 +24,38 @@ __export(src_exports, {
24
24
  });
25
25
  module.exports = __toCommonJS(src_exports);
26
26
 
27
+ // src/helpers.ts
28
+ var getDefaultVerificationMethod = /* @__PURE__ */ __name(async (learnCard, issuerDid) => {
29
+ const kp = learnCard.id.keypair();
30
+ if (!kp) {
31
+ throw new Error("Cannot get default verification method: unable to get subject keypair");
32
+ }
33
+ const issuerDidDoc = await learnCard.invoke.resolveDid(issuerDid);
34
+ const verificationMethodEntry = typeof issuerDidDoc === "string" ? void 0 : issuerDidDoc?.verificationMethod?.find((entry) => typeof entry === "string" ? false : entry?.publicKeyJwk?.x === kp.x);
35
+ const verificationMethod = typeof verificationMethodEntry !== "string" && verificationMethodEntry?.id || await learnCard.invoke.didToVerificationMethod(issuerDid);
36
+ return verificationMethod;
37
+ }, "getDefaultVerificationMethod");
38
+
27
39
  // src/issueCredential.ts
28
40
  var issueCredential = /* @__PURE__ */ __name((initLearnCard) => {
29
41
  return async (learnCard, credential, signingOptions = {}) => {
30
42
  const kp = learnCard.id.keypair();
31
43
  if (!kp)
32
44
  throw new Error("Cannot issue credential: Could not get subject keypair");
33
- const verificationMethod = await learnCard.invoke.didToVerificationMethod(typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id);
34
45
  const options = {
35
- verificationMethod,
36
46
  proofPurpose: "assertionMethod",
37
47
  type: "Ed25519Signature2020",
38
48
  ...signingOptions
39
49
  };
50
+ if (!("verificationMethod" in options)) {
51
+ const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
52
+ options.verificationMethod = await getDefaultVerificationMethod(learnCard, issuerDid);
53
+ }
54
+ learnCard.debug?.("Signing with these options", {
55
+ credential,
56
+ options,
57
+ kp
58
+ });
40
59
  return initLearnCard.invoke.issueCredential(credential, options, kp);
41
60
  };
42
61
  }, "issueCredential");
@@ -62,13 +81,13 @@ var issuePresentation = /* @__PURE__ */ __name((initLearnCard) => {
62
81
  const kp = learnCard.id.keypair();
63
82
  if (!kp)
64
83
  throw new Error("Cannot issue credential: Could not get subject keypair");
65
- const verificationMethod = await learnCard.invoke.didToVerificationMethod(learnCard.id.did());
66
84
  const options = {
67
- verificationMethod,
68
- ...signingOptions.proofFormat === "jwt" ? {} : { proofPurpose: "assertionMethod" },
69
- ...signingOptions.proofFormat === "jwt" ? {} : { type: "Ed25519Signature2020" },
85
+ ...signingOptions.proofFormat === "jwt" ? {} : { proofPurpose: "assertionMethod", type: "Ed25519Signature2020" },
70
86
  ...signingOptions
71
87
  };
88
+ if (!("verificationMethod" in options)) {
89
+ options.verificationMethod = await getDefaultVerificationMethod(learnCard, learnCard.id.did());
90
+ }
72
91
  return initLearnCard.invoke.issuePresentation(presentation, options, kp);
73
92
  };
74
93
  }, "issuePresentation");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
- "sourcesContent": ["export { getVCPlugin } from './vc';\nexport * from './types';\n", "import { UnsignedVC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const issueCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n credential: UnsignedVC,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const verificationMethod = await learnCard.invoke.didToVerificationMethod(\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id!\n );\n\n const options = {\n verificationMethod,\n proofPurpose: 'assertionMethod',\n type: 'Ed25519Signature2020',\n ...signingOptions,\n };\n\n return initLearnCard.invoke.issueCredential(credential, options, kp);\n };\n};\n", "import { VC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n credential: VC,\n _options: Partial<ProofOptions> = {}\n ) => {\n const options = _options;\n\n if (!options.checks) {\n options.checks = ['proof'];\n if (credential.credentialStatus) options.checks.push('credentialStatus');\n if (credential.credentialSchema) options.checks.push('credentialSchema');\n }\n\n return initLearnCard.invoke.verifyCredential(credential, options);\n };\n};\n", "import { UnsignedVP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const issuePresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n presentation: UnsignedVP,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const verificationMethod = await learnCard.invoke.didToVerificationMethod(\n learnCard.id.did()\n );\n\n const options = {\n verificationMethod,\n ...(signingOptions.proofFormat === 'jwt' ? {} : { proofPurpose: 'assertionMethod' }),\n ...(signingOptions.proofFormat === 'jwt' ? {} : { type: 'Ed25519Signature2020' }),\n ...signingOptions,\n };\n\n return initLearnCard.invoke.issuePresentation(presentation, options, kp);\n };\n};\n", "import { VP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyPresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n presentation: VP | string,\n options: Partial<ProofOptions> = {}\n ) => {\n return initLearnCard.invoke.verifyPresentation(presentation, options);\n };\n};\n", "import { issueCredential } from './issueCredential';\nimport { verifyCredential } from './verifyCredential';\nimport { issuePresentation } from './issuePresentation';\nimport { verifyPresentation } from './verifyPresentation';\n\nimport { VCDependentLearnCard, VCPlugin } from './types';\nimport { UnsignedVP } from '@learncard/types';\n\n/**\n * @group Plugins\n */\nexport const getVCPlugin = (learnCard: VCDependentLearnCard): VCPlugin => {\n return {\n name: 'VC',\n displayName: 'VC',\n description:\n 'Handles the infrastructure needed to issue and verify credentials and presentations',\n methods: {\n issueCredential: issueCredential(learnCard),\n verifyCredential: verifyCredential(learnCard),\n issuePresentation: issuePresentation(learnCard),\n verifyPresentation: verifyPresentation(learnCard),\n getTestVc: (_learnCard, subject = 'did:example:d23dd687a7dc6787646f2eb98d0') => {\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate: '2020-08-19T21:41:50Z',\n credentialSubject: { id: subject },\n };\n },\n getTestVp: async (_learnCard, _credential) => {\n const credential =\n _credential ||\n (await _learnCard.invoke.issueCredential(_learnCard.invoke.getTestVc()));\n\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n getDidAuthVp: async (_learnCard, options = {}) => {\n const did = _learnCard.id.did();\n const unsignedVP: UnsignedVP = {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n };\n\n return _learnCard.invoke.issuePresentation(unsignedVP, {\n proofPurpose: 'authentication',\n ...options,\n });\n },\n },\n };\n};\n"],
5
- "mappings": "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",
3
+ "sources": ["../src/index.ts", "../src/helpers.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
+ "sourcesContent": ["export { getVCPlugin } from './vc';\nexport * from './types';\n", "import { VCImplicitLearnCard } from './types';\n\n/**\n * Determines the default verification method to use for a given did by resolving it and looking\n * for a keypair that matches the default keypair for the LearnCard\n */\nexport const getDefaultVerificationMethod = async (\n learnCard: VCImplicitLearnCard,\n issuerDid: string\n) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) {\n throw new Error('Cannot get default verification method: unable to get subject keypair');\n }\n\n const issuerDidDoc = await learnCard.invoke.resolveDid(issuerDid);\n\n const verificationMethodEntry =\n typeof issuerDidDoc === 'string'\n ? undefined\n : issuerDidDoc?.verificationMethod?.find(entry =>\n typeof entry === 'string' ? false : entry?.publicKeyJwk?.x === kp.x\n );\n\n const verificationMethod =\n (typeof verificationMethodEntry !== 'string' && verificationMethodEntry?.id) ||\n (await learnCard.invoke.didToVerificationMethod(issuerDid));\n\n return verificationMethod;\n};\n", "import { UnsignedVC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\nimport { getDefaultVerificationMethod } from './helpers';\n\nexport const issueCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n credential: UnsignedVC,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const options = {\n proofPurpose: 'assertionMethod',\n type: 'Ed25519Signature2020',\n ...signingOptions,\n };\n\n if (!('verificationMethod' in options)) {\n const issuerDid =\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id!;\n\n options.verificationMethod = await getDefaultVerificationMethod(learnCard, issuerDid);\n }\n\n learnCard.debug?.('Signing with these options', {\n credential,\n options,\n kp,\n });\n\n return initLearnCard.invoke.issueCredential(credential, options, kp);\n };\n};\n", "import { VC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n credential: VC,\n _options: Partial<ProofOptions> = {}\n ) => {\n const options = _options;\n\n if (!options.checks) {\n options.checks = ['proof'];\n if (credential.credentialStatus) options.checks.push('credentialStatus');\n if (credential.credentialSchema) options.checks.push('credentialSchema');\n }\n\n return initLearnCard.invoke.verifyCredential(credential, options);\n };\n};\n", "import { UnsignedVP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\nimport { getDefaultVerificationMethod } from './helpers';\n\nexport const issuePresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n presentation: UnsignedVP,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const options = {\n ...(signingOptions.proofFormat === 'jwt'\n ? {}\n : { proofPurpose: 'assertionMethod', type: 'Ed25519Signature2020' }),\n ...signingOptions,\n };\n\n if (!('verificationMethod' in options)) {\n options.verificationMethod = await getDefaultVerificationMethod(\n learnCard,\n learnCard.id.did()\n );\n }\n\n return initLearnCard.invoke.issuePresentation(presentation, options, kp);\n };\n};\n", "import { VP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyPresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n presentation: VP | string,\n options: Partial<ProofOptions> = {}\n ) => {\n return initLearnCard.invoke.verifyPresentation(presentation, options);\n };\n};\n", "import { issueCredential } from './issueCredential';\nimport { verifyCredential } from './verifyCredential';\nimport { issuePresentation } from './issuePresentation';\nimport { verifyPresentation } from './verifyPresentation';\n\nimport { VCDependentLearnCard, VCPlugin } from './types';\nimport { UnsignedVP } from '@learncard/types';\n\n/**\n * @group Plugins\n */\nexport const getVCPlugin = (learnCard: VCDependentLearnCard): VCPlugin => {\n return {\n name: 'VC',\n displayName: 'VC',\n description:\n 'Handles the infrastructure needed to issue and verify credentials and presentations',\n methods: {\n issueCredential: issueCredential(learnCard),\n verifyCredential: verifyCredential(learnCard),\n issuePresentation: issuePresentation(learnCard),\n verifyPresentation: verifyPresentation(learnCard),\n getTestVc: (_learnCard, subject = 'did:example:d23dd687a7dc6787646f2eb98d0') => {\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate: '2020-08-19T21:41:50Z',\n credentialSubject: { id: subject },\n };\n },\n getTestVp: async (_learnCard, _credential) => {\n const credential =\n _credential ||\n (await _learnCard.invoke.issueCredential(_learnCard.invoke.getTestVc()));\n\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n getDidAuthVp: async (_learnCard, options = {}) => {\n const did = _learnCard.id.did();\n const unsignedVP: UnsignedVP = {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n };\n\n return _learnCard.invoke.issuePresentation(unsignedVP, {\n proofPurpose: 'authentication',\n ...options,\n });\n },\n },\n };\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
1
- var s=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var l=Object.prototype.hasOwnProperty;var o=(r,e)=>s(r,"name",{value:e,configurable:!0});var P=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},h=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of V(e))!l.call(r,i)&&i!==t&&s(r,i,{get:()=>e[i],enumerable:!(n=u(e,i))||n.enumerable});return r};var v=r=>h(s({},"__esModule",{value:!0}),r);var y={};P(y,{getVCPlugin:()=>m});module.exports=v(y);var d=o(r=>async(e,t,n={})=>{let i=e.id.keypair();if(!i)throw new Error("Cannot issue credential: Could not get subject keypair");let a={verificationMethod:await e.invoke.didToVerificationMethod(typeof t.issuer=="string"?t.issuer:t.issuer.id),proofPurpose:"assertionMethod",type:"Ed25519Signature2020",...n};return r.invoke.issueCredential(t,a,i)},"issueCredential");var p=o(r=>async(e,t,n={})=>{let i=n;return i.checks||(i.checks=["proof"],t.credentialStatus&&i.checks.push("credentialStatus"),t.credentialSchema&&i.checks.push("credentialSchema")),r.invoke.verifyCredential(t,i)},"verifyCredential");var c=o(r=>async(e,t,n={})=>{let i=e.id.keypair();if(!i)throw new Error("Cannot issue credential: Could not get subject keypair");let a={verificationMethod:await e.invoke.didToVerificationMethod(e.id.did()),...n.proofFormat==="jwt"?{}:{proofPurpose:"assertionMethod"},...n.proofFormat==="jwt"?{}:{type:"Ed25519Signature2020"},...n};return r.invoke.issuePresentation(t,a,i)},"issuePresentation");var f=o(r=>async(e,t,n={})=>r.invoke.verifyPresentation(t,n),"verifyPresentation");var m=o(r=>({name:"VC",displayName:"VC",description:"Handles the infrastructure needed to issue and verify credentials and presentations",methods:{issueCredential:d(r),verifyCredential:p(r),issuePresentation:c(r),verifyPresentation:f(r),getTestVc:(e,t="did:example:d23dd687a7dc6787646f2eb98d0")=>{let n=e.id.did();return{"@context":["https://www.w3.org/2018/credentials/v1"],id:"http://example.org/credentials/3731",type:["VerifiableCredential"],issuer:n,issuanceDate:"2020-08-19T21:41:50Z",credentialSubject:{id:t}}},getTestVp:async(e,t)=>{let n=t||await e.invoke.issueCredential(e.invoke.getTestVc()),i=e.id.did();return{"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiablePresentation"],holder:i,verifiableCredential:n}},getDidAuthVp:async(e,t={})=>{let n=e.id.did(),i={"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiablePresentation"],holder:n};return e.invoke.issuePresentation(i,{proofPurpose:"authentication",...t})}}}),"getVCPlugin");
1
+ var d=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var h=Object.prototype.hasOwnProperty;var o=(i,e)=>d(i,"name",{value:e,configurable:!0});var g=(i,e)=>{for(var t in e)d(i,t,{get:e[t],enumerable:!0})},P=(i,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of l(e))!h.call(i,r)&&r!==t&&d(i,r,{get:()=>e[r],enumerable:!(n=V(e,r))||n.enumerable});return i};var y=i=>P(d({},"__esModule",{value:!0}),i);var v={};g(v,{getVCPlugin:()=>C});module.exports=y(v);var p=o(async(i,e)=>{let t=i.id.keypair();if(!t)throw new Error("Cannot get default verification method: unable to get subject keypair");let n=await i.invoke.resolveDid(e),r=typeof n=="string"?void 0:n?.verificationMethod?.find(a=>typeof a=="string"?!1:a?.publicKeyJwk?.x===t.x);return typeof r!="string"&&r?.id||await i.invoke.didToVerificationMethod(e)},"getDefaultVerificationMethod");var c=o(i=>async(e,t,n={})=>{let r=e.id.keypair();if(!r)throw new Error("Cannot issue credential: Could not get subject keypair");let s={proofPurpose:"assertionMethod",type:"Ed25519Signature2020",...n};if(!("verificationMethod"in s)){let a=typeof t.issuer=="string"?t.issuer:t.issuer.id;s.verificationMethod=await p(e,a)}return e.debug?.("Signing with these options",{credential:t,options:s,kp:r}),i.invoke.issueCredential(t,s,r)},"issueCredential");var f=o(i=>async(e,t,n={})=>{let r=n;return r.checks||(r.checks=["proof"],t.credentialStatus&&r.checks.push("credentialStatus"),t.credentialSchema&&r.checks.push("credentialSchema")),i.invoke.verifyCredential(t,r)},"verifyCredential");var u=o(i=>async(e,t,n={})=>{let r=e.id.keypair();if(!r)throw new Error("Cannot issue credential: Could not get subject keypair");let s={...n.proofFormat==="jwt"?{}:{proofPurpose:"assertionMethod",type:"Ed25519Signature2020"},...n};return"verificationMethod"in s||(s.verificationMethod=await p(e,e.id.did())),i.invoke.issuePresentation(t,s,r)},"issuePresentation");var m=o(i=>async(e,t,n={})=>i.invoke.verifyPresentation(t,n),"verifyPresentation");var C=o(i=>({name:"VC",displayName:"VC",description:"Handles the infrastructure needed to issue and verify credentials and presentations",methods:{issueCredential:c(i),verifyCredential:f(i),issuePresentation:u(i),verifyPresentation:m(i),getTestVc:(e,t="did:example:d23dd687a7dc6787646f2eb98d0")=>{let n=e.id.did();return{"@context":["https://www.w3.org/2018/credentials/v1"],id:"http://example.org/credentials/3731",type:["VerifiableCredential"],issuer:n,issuanceDate:"2020-08-19T21:41:50Z",credentialSubject:{id:t}}},getTestVp:async(e,t)=>{let n=t||await e.invoke.issueCredential(e.invoke.getTestVc()),r=e.id.did();return{"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiablePresentation"],holder:r,verifiableCredential:n}},getDidAuthVp:async(e,t={})=>{let n=e.id.did(),r={"@context":["https://www.w3.org/2018/credentials/v1"],type:["VerifiablePresentation"],holder:n};return e.invoke.issuePresentation(r,{proofPurpose:"authentication",...t})}}}),"getVCPlugin");
2
2
  //# sourceMappingURL=vc-plugin.cjs.production.min.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/index.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
- "sourcesContent": ["export { getVCPlugin } from './vc';\nexport * from './types';\n", "import { UnsignedVC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const issueCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n credential: UnsignedVC,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const verificationMethod = await learnCard.invoke.didToVerificationMethod(\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id!\n );\n\n const options = {\n verificationMethod,\n proofPurpose: 'assertionMethod',\n type: 'Ed25519Signature2020',\n ...signingOptions,\n };\n\n return initLearnCard.invoke.issueCredential(credential, options, kp);\n };\n};\n", "import { VC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n credential: VC,\n _options: Partial<ProofOptions> = {}\n ) => {\n const options = _options;\n\n if (!options.checks) {\n options.checks = ['proof'];\n if (credential.credentialStatus) options.checks.push('credentialStatus');\n if (credential.credentialSchema) options.checks.push('credentialSchema');\n }\n\n return initLearnCard.invoke.verifyCredential(credential, options);\n };\n};\n", "import { UnsignedVP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const issuePresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n presentation: UnsignedVP,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const verificationMethod = await learnCard.invoke.didToVerificationMethod(\n learnCard.id.did()\n );\n\n const options = {\n verificationMethod,\n ...(signingOptions.proofFormat === 'jwt' ? {} : { proofPurpose: 'assertionMethod' }),\n ...(signingOptions.proofFormat === 'jwt' ? {} : { type: 'Ed25519Signature2020' }),\n ...signingOptions,\n };\n\n return initLearnCard.invoke.issuePresentation(presentation, options, kp);\n };\n};\n", "import { VP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyPresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n presentation: VP | string,\n options: Partial<ProofOptions> = {}\n ) => {\n return initLearnCard.invoke.verifyPresentation(presentation, options);\n };\n};\n", "import { issueCredential } from './issueCredential';\nimport { verifyCredential } from './verifyCredential';\nimport { issuePresentation } from './issuePresentation';\nimport { verifyPresentation } from './verifyPresentation';\n\nimport { VCDependentLearnCard, VCPlugin } from './types';\nimport { UnsignedVP } from '@learncard/types';\n\n/**\n * @group Plugins\n */\nexport const getVCPlugin = (learnCard: VCDependentLearnCard): VCPlugin => {\n return {\n name: 'VC',\n displayName: 'VC',\n description:\n 'Handles the infrastructure needed to issue and verify credentials and presentations',\n methods: {\n issueCredential: issueCredential(learnCard),\n verifyCredential: verifyCredential(learnCard),\n issuePresentation: issuePresentation(learnCard),\n verifyPresentation: verifyPresentation(learnCard),\n getTestVc: (_learnCard, subject = 'did:example:d23dd687a7dc6787646f2eb98d0') => {\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate: '2020-08-19T21:41:50Z',\n credentialSubject: { id: subject },\n };\n },\n getTestVp: async (_learnCard, _credential) => {\n const credential =\n _credential ||\n (await _learnCard.invoke.issueCredential(_learnCard.invoke.getTestVc()));\n\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n getDidAuthVp: async (_learnCard, options = {}) => {\n const did = _learnCard.id.did();\n const unsignedVP: UnsignedVP = {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n };\n\n return _learnCard.invoke.issuePresentation(unsignedVP, {\n proofPurpose: 'authentication',\n ...options,\n });\n },\n },\n };\n};\n"],
5
- "mappings": "+cAAA,sDCKO,GAAM,GAAkB,EAAC,GACrB,MACH,EACA,EACA,EAAwC,CAAC,IACxC,CACD,GAAM,GAAK,EAAU,GAAG,QAAQ,EAEhC,GAAI,CAAC,EAAI,KAAM,IAAI,OAAM,wDAAwD,EAMjF,GAAM,GAAU,CACZ,mBALuB,KAAM,GAAU,OAAO,wBAC9C,MAAO,GAAW,QAAW,SAAW,EAAW,OAAS,EAAW,OAAO,EAClF,EAII,aAAc,kBACd,KAAM,0BACH,CACP,EAEA,MAAO,GAAc,OAAO,gBAAgB,EAAY,EAAS,CAAE,CACvE,EAtB2B,mBCAxB,GAAM,GAAmB,EAAC,GACtB,MACH,EACA,EACA,EAAkC,CAAC,IAClC,CACD,GAAM,GAAU,EAEhB,MAAK,GAAQ,QACT,GAAQ,OAAS,CAAC,OAAO,EACrB,EAAW,kBAAkB,EAAQ,OAAO,KAAK,kBAAkB,EACnE,EAAW,kBAAkB,EAAQ,OAAO,KAAK,kBAAkB,GAGpE,EAAc,OAAO,iBAAiB,EAAY,CAAO,CACpE,EAf4B,oBCAzB,GAAM,GAAoB,EAAC,GACvB,MACH,EACA,EACA,EAAwC,CAAC,IACxC,CACD,GAAM,GAAK,EAAU,GAAG,QAAQ,EAEhC,GAAI,CAAC,EAAI,KAAM,IAAI,OAAM,wDAAwD,EAMjF,GAAM,GAAU,CACZ,mBALuB,KAAM,GAAU,OAAO,wBAC9C,EAAU,GAAG,IAAI,CACrB,KAIQ,EAAe,cAAgB,MAAQ,CAAC,EAAI,CAAE,aAAc,iBAAkB,KAC9E,EAAe,cAAgB,MAAQ,CAAC,EAAI,CAAE,KAAM,sBAAuB,KAC5E,CACP,EAEA,MAAO,GAAc,OAAO,kBAAkB,EAAc,EAAS,CAAE,CAC3E,EAtB6B,qBCA1B,GAAM,GAAqB,EAAC,GACxB,MACH,EACA,EACA,EAAiC,CAAC,IAE3B,EAAc,OAAO,mBAAmB,EAAc,CAAO,EAN1C,sBCM3B,GAAM,GAAc,EAAC,GACjB,EACH,KAAM,KACN,YAAa,KACb,YACI,sFACJ,QAAS,CACL,gBAAiB,EAAgB,CAAS,EAC1C,iBAAkB,EAAiB,CAAS,EAC5C,kBAAmB,EAAkB,CAAS,EAC9C,mBAAoB,EAAmB,CAAS,EAChD,UAAW,CAAC,EAAY,EAAU,4CAA8C,CAC5E,GAAM,GAAM,EAAW,GAAG,IAAI,EAE9B,MAAO,CACH,WAAY,CAAC,wCAAwC,EACrD,GAAI,sCACJ,KAAM,CAAC,sBAAsB,EAC7B,OAAQ,EACR,aAAc,uBACd,kBAAmB,CAAE,GAAI,CAAQ,CACrC,CACJ,EACA,UAAW,MAAO,EAAY,IAAgB,CAC1C,GAAM,GACF,GACC,KAAM,GAAW,OAAO,gBAAgB,EAAW,OAAO,UAAU,CAAC,EAEpE,EAAM,EAAW,GAAG,IAAI,EAE9B,MAAO,CACH,WAAY,CAAC,wCAAwC,EACrD,KAAM,CAAC,wBAAwB,EAC/B,OAAQ,EACR,qBAAsB,CAC1B,CACJ,EACA,aAAc,MAAO,EAAY,EAAU,CAAC,IAAM,CAC9C,GAAM,GAAM,EAAW,GAAG,IAAI,EACxB,EAAyB,CAC3B,WAAY,CAAC,wCAAwC,EACrD,KAAM,CAAC,wBAAwB,EAC/B,OAAQ,CACZ,EAEA,MAAO,GAAW,OAAO,kBAAkB,EAAY,CACnD,aAAc,oBACX,CACP,CAAC,CACL,CACJ,CACJ,GAnDuB",
3
+ "sources": ["../src/index.ts", "../src/helpers.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
+ "sourcesContent": ["export { getVCPlugin } from './vc';\nexport * from './types';\n", "import { VCImplicitLearnCard } from './types';\n\n/**\n * Determines the default verification method to use for a given did by resolving it and looking\n * for a keypair that matches the default keypair for the LearnCard\n */\nexport const getDefaultVerificationMethod = async (\n learnCard: VCImplicitLearnCard,\n issuerDid: string\n) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) {\n throw new Error('Cannot get default verification method: unable to get subject keypair');\n }\n\n const issuerDidDoc = await learnCard.invoke.resolveDid(issuerDid);\n\n const verificationMethodEntry =\n typeof issuerDidDoc === 'string'\n ? undefined\n : issuerDidDoc?.verificationMethod?.find(entry =>\n typeof entry === 'string' ? false : entry?.publicKeyJwk?.x === kp.x\n );\n\n const verificationMethod =\n (typeof verificationMethodEntry !== 'string' && verificationMethodEntry?.id) ||\n (await learnCard.invoke.didToVerificationMethod(issuerDid));\n\n return verificationMethod;\n};\n", "import { UnsignedVC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\nimport { getDefaultVerificationMethod } from './helpers';\n\nexport const issueCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n credential: UnsignedVC,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const options = {\n proofPurpose: 'assertionMethod',\n type: 'Ed25519Signature2020',\n ...signingOptions,\n };\n\n if (!('verificationMethod' in options)) {\n const issuerDid =\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id!;\n\n options.verificationMethod = await getDefaultVerificationMethod(learnCard, issuerDid);\n }\n\n learnCard.debug?.('Signing with these options', {\n credential,\n options,\n kp,\n });\n\n return initLearnCard.invoke.issueCredential(credential, options, kp);\n };\n};\n", "import { VC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n credential: VC,\n _options: Partial<ProofOptions> = {}\n ) => {\n const options = _options;\n\n if (!options.checks) {\n options.checks = ['proof'];\n if (credential.credentialStatus) options.checks.push('credentialStatus');\n if (credential.credentialSchema) options.checks.push('credentialSchema');\n }\n\n return initLearnCard.invoke.verifyCredential(credential, options);\n };\n};\n", "import { UnsignedVP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\nimport { getDefaultVerificationMethod } from './helpers';\n\nexport const issuePresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n presentation: UnsignedVP,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const options = {\n ...(signingOptions.proofFormat === 'jwt'\n ? {}\n : { proofPurpose: 'assertionMethod', type: 'Ed25519Signature2020' }),\n ...signingOptions,\n };\n\n if (!('verificationMethod' in options)) {\n options.verificationMethod = await getDefaultVerificationMethod(\n learnCard,\n learnCard.id.did()\n );\n }\n\n return initLearnCard.invoke.issuePresentation(presentation, options, kp);\n };\n};\n", "import { VP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyPresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n presentation: VP | string,\n options: Partial<ProofOptions> = {}\n ) => {\n return initLearnCard.invoke.verifyPresentation(presentation, options);\n };\n};\n", "import { issueCredential } from './issueCredential';\nimport { verifyCredential } from './verifyCredential';\nimport { issuePresentation } from './issuePresentation';\nimport { verifyPresentation } from './verifyPresentation';\n\nimport { VCDependentLearnCard, VCPlugin } from './types';\nimport { UnsignedVP } from '@learncard/types';\n\n/**\n * @group Plugins\n */\nexport const getVCPlugin = (learnCard: VCDependentLearnCard): VCPlugin => {\n return {\n name: 'VC',\n displayName: 'VC',\n description:\n 'Handles the infrastructure needed to issue and verify credentials and presentations',\n methods: {\n issueCredential: issueCredential(learnCard),\n verifyCredential: verifyCredential(learnCard),\n issuePresentation: issuePresentation(learnCard),\n verifyPresentation: verifyPresentation(learnCard),\n getTestVc: (_learnCard, subject = 'did:example:d23dd687a7dc6787646f2eb98d0') => {\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate: '2020-08-19T21:41:50Z',\n credentialSubject: { id: subject },\n };\n },\n getTestVp: async (_learnCard, _credential) => {\n const credential =\n _credential ||\n (await _learnCard.invoke.issueCredential(_learnCard.invoke.getTestVc()));\n\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n getDidAuthVp: async (_learnCard, options = {}) => {\n const did = _learnCard.id.did();\n const unsignedVP: UnsignedVP = {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n };\n\n return _learnCard.invoke.issuePresentation(unsignedVP, {\n proofPurpose: 'authentication',\n ...options,\n });\n },\n },\n };\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,19 +1,38 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
3
 
4
+ // src/helpers.ts
5
+ var getDefaultVerificationMethod = /* @__PURE__ */ __name(async (learnCard, issuerDid) => {
6
+ const kp = learnCard.id.keypair();
7
+ if (!kp) {
8
+ throw new Error("Cannot get default verification method: unable to get subject keypair");
9
+ }
10
+ const issuerDidDoc = await learnCard.invoke.resolveDid(issuerDid);
11
+ const verificationMethodEntry = typeof issuerDidDoc === "string" ? void 0 : issuerDidDoc?.verificationMethod?.find((entry) => typeof entry === "string" ? false : entry?.publicKeyJwk?.x === kp.x);
12
+ const verificationMethod = typeof verificationMethodEntry !== "string" && verificationMethodEntry?.id || await learnCard.invoke.didToVerificationMethod(issuerDid);
13
+ return verificationMethod;
14
+ }, "getDefaultVerificationMethod");
15
+
4
16
  // src/issueCredential.ts
5
17
  var issueCredential = /* @__PURE__ */ __name((initLearnCard) => {
6
18
  return async (learnCard, credential, signingOptions = {}) => {
7
19
  const kp = learnCard.id.keypair();
8
20
  if (!kp)
9
21
  throw new Error("Cannot issue credential: Could not get subject keypair");
10
- const verificationMethod = await learnCard.invoke.didToVerificationMethod(typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id);
11
22
  const options = {
12
- verificationMethod,
13
23
  proofPurpose: "assertionMethod",
14
24
  type: "Ed25519Signature2020",
15
25
  ...signingOptions
16
26
  };
27
+ if (!("verificationMethod" in options)) {
28
+ const issuerDid = typeof credential.issuer === "string" ? credential.issuer : credential.issuer.id;
29
+ options.verificationMethod = await getDefaultVerificationMethod(learnCard, issuerDid);
30
+ }
31
+ learnCard.debug?.("Signing with these options", {
32
+ credential,
33
+ options,
34
+ kp
35
+ });
17
36
  return initLearnCard.invoke.issueCredential(credential, options, kp);
18
37
  };
19
38
  }, "issueCredential");
@@ -39,13 +58,13 @@ var issuePresentation = /* @__PURE__ */ __name((initLearnCard) => {
39
58
  const kp = learnCard.id.keypair();
40
59
  if (!kp)
41
60
  throw new Error("Cannot issue credential: Could not get subject keypair");
42
- const verificationMethod = await learnCard.invoke.didToVerificationMethod(learnCard.id.did());
43
61
  const options = {
44
- verificationMethod,
45
- ...signingOptions.proofFormat === "jwt" ? {} : { proofPurpose: "assertionMethod" },
46
- ...signingOptions.proofFormat === "jwt" ? {} : { type: "Ed25519Signature2020" },
62
+ ...signingOptions.proofFormat === "jwt" ? {} : { proofPurpose: "assertionMethod", type: "Ed25519Signature2020" },
47
63
  ...signingOptions
48
64
  };
65
+ if (!("verificationMethod" in options)) {
66
+ options.verificationMethod = await getDefaultVerificationMethod(learnCard, learnCard.id.did());
67
+ }
49
68
  return initLearnCard.invoke.issuePresentation(presentation, options, kp);
50
69
  };
51
70
  }, "issuePresentation");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
- "sourcesContent": ["import { UnsignedVC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const issueCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n credential: UnsignedVC,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const verificationMethod = await learnCard.invoke.didToVerificationMethod(\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id!\n );\n\n const options = {\n verificationMethod,\n proofPurpose: 'assertionMethod',\n type: 'Ed25519Signature2020',\n ...signingOptions,\n };\n\n return initLearnCard.invoke.issueCredential(credential, options, kp);\n };\n};\n", "import { VC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n credential: VC,\n _options: Partial<ProofOptions> = {}\n ) => {\n const options = _options;\n\n if (!options.checks) {\n options.checks = ['proof'];\n if (credential.credentialStatus) options.checks.push('credentialStatus');\n if (credential.credentialSchema) options.checks.push('credentialSchema');\n }\n\n return initLearnCard.invoke.verifyCredential(credential, options);\n };\n};\n", "import { UnsignedVP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const issuePresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n presentation: UnsignedVP,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const verificationMethod = await learnCard.invoke.didToVerificationMethod(\n learnCard.id.did()\n );\n\n const options = {\n verificationMethod,\n ...(signingOptions.proofFormat === 'jwt' ? {} : { proofPurpose: 'assertionMethod' }),\n ...(signingOptions.proofFormat === 'jwt' ? {} : { type: 'Ed25519Signature2020' }),\n ...signingOptions,\n };\n\n return initLearnCard.invoke.issuePresentation(presentation, options, kp);\n };\n};\n", "import { VP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyPresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n presentation: VP | string,\n options: Partial<ProofOptions> = {}\n ) => {\n return initLearnCard.invoke.verifyPresentation(presentation, options);\n };\n};\n", "import { issueCredential } from './issueCredential';\nimport { verifyCredential } from './verifyCredential';\nimport { issuePresentation } from './issuePresentation';\nimport { verifyPresentation } from './verifyPresentation';\n\nimport { VCDependentLearnCard, VCPlugin } from './types';\nimport { UnsignedVP } from '@learncard/types';\n\n/**\n * @group Plugins\n */\nexport const getVCPlugin = (learnCard: VCDependentLearnCard): VCPlugin => {\n return {\n name: 'VC',\n displayName: 'VC',\n description:\n 'Handles the infrastructure needed to issue and verify credentials and presentations',\n methods: {\n issueCredential: issueCredential(learnCard),\n verifyCredential: verifyCredential(learnCard),\n issuePresentation: issuePresentation(learnCard),\n verifyPresentation: verifyPresentation(learnCard),\n getTestVc: (_learnCard, subject = 'did:example:d23dd687a7dc6787646f2eb98d0') => {\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate: '2020-08-19T21:41:50Z',\n credentialSubject: { id: subject },\n };\n },\n getTestVp: async (_learnCard, _credential) => {\n const credential =\n _credential ||\n (await _learnCard.invoke.issueCredential(_learnCard.invoke.getTestVc()));\n\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n getDidAuthVp: async (_learnCard, options = {}) => {\n const did = _learnCard.id.did();\n const unsignedVP: UnsignedVP = {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n };\n\n return _learnCard.invoke.issuePresentation(unsignedVP, {\n proofPurpose: 'authentication',\n ...options,\n });\n },\n },\n };\n};\n"],
5
- "mappings": "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",
3
+ "sources": ["../src/helpers.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
+ "sourcesContent": ["import { VCImplicitLearnCard } from './types';\n\n/**\n * Determines the default verification method to use for a given did by resolving it and looking\n * for a keypair that matches the default keypair for the LearnCard\n */\nexport const getDefaultVerificationMethod = async (\n learnCard: VCImplicitLearnCard,\n issuerDid: string\n) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) {\n throw new Error('Cannot get default verification method: unable to get subject keypair');\n }\n\n const issuerDidDoc = await learnCard.invoke.resolveDid(issuerDid);\n\n const verificationMethodEntry =\n typeof issuerDidDoc === 'string'\n ? undefined\n : issuerDidDoc?.verificationMethod?.find(entry =>\n typeof entry === 'string' ? false : entry?.publicKeyJwk?.x === kp.x\n );\n\n const verificationMethod =\n (typeof verificationMethodEntry !== 'string' && verificationMethodEntry?.id) ||\n (await learnCard.invoke.didToVerificationMethod(issuerDid));\n\n return verificationMethod;\n};\n", "import { UnsignedVC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\nimport { getDefaultVerificationMethod } from './helpers';\n\nexport const issueCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n credential: UnsignedVC,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const options = {\n proofPurpose: 'assertionMethod',\n type: 'Ed25519Signature2020',\n ...signingOptions,\n };\n\n if (!('verificationMethod' in options)) {\n const issuerDid =\n typeof credential.issuer === 'string' ? credential.issuer : credential.issuer.id!;\n\n options.verificationMethod = await getDefaultVerificationMethod(learnCard, issuerDid);\n }\n\n learnCard.debug?.('Signing with these options', {\n credential,\n options,\n kp,\n });\n\n return initLearnCard.invoke.issueCredential(credential, options, kp);\n };\n};\n", "import { VC } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyCredential = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n credential: VC,\n _options: Partial<ProofOptions> = {}\n ) => {\n const options = _options;\n\n if (!options.checks) {\n options.checks = ['proof'];\n if (credential.credentialStatus) options.checks.push('credentialStatus');\n if (credential.credentialSchema) options.checks.push('credentialSchema');\n }\n\n return initLearnCard.invoke.verifyCredential(credential, options);\n };\n};\n", "import { UnsignedVP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\nimport { getDefaultVerificationMethod } from './helpers';\n\nexport const issuePresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n learnCard: VCImplicitLearnCard,\n presentation: UnsignedVP,\n signingOptions: Partial<ProofOptions> = {}\n ) => {\n const kp = learnCard.id.keypair();\n\n if (!kp) throw new Error('Cannot issue credential: Could not get subject keypair');\n\n const options = {\n ...(signingOptions.proofFormat === 'jwt'\n ? {}\n : { proofPurpose: 'assertionMethod', type: 'Ed25519Signature2020' }),\n ...signingOptions,\n };\n\n if (!('verificationMethod' in options)) {\n options.verificationMethod = await getDefaultVerificationMethod(\n learnCard,\n learnCard.id.did()\n );\n }\n\n return initLearnCard.invoke.issuePresentation(presentation, options, kp);\n };\n};\n", "import { VP } from '@learncard/types';\n\nimport { ProofOptions } from '@learncard/didkit-plugin';\nimport { VCDependentLearnCard, VCImplicitLearnCard } from './types';\n\nexport const verifyPresentation = (initLearnCard: VCDependentLearnCard) => {\n return async (\n _learnCard: VCImplicitLearnCard,\n presentation: VP | string,\n options: Partial<ProofOptions> = {}\n ) => {\n return initLearnCard.invoke.verifyPresentation(presentation, options);\n };\n};\n", "import { issueCredential } from './issueCredential';\nimport { verifyCredential } from './verifyCredential';\nimport { issuePresentation } from './issuePresentation';\nimport { verifyPresentation } from './verifyPresentation';\n\nimport { VCDependentLearnCard, VCPlugin } from './types';\nimport { UnsignedVP } from '@learncard/types';\n\n/**\n * @group Plugins\n */\nexport const getVCPlugin = (learnCard: VCDependentLearnCard): VCPlugin => {\n return {\n name: 'VC',\n displayName: 'VC',\n description:\n 'Handles the infrastructure needed to issue and verify credentials and presentations',\n methods: {\n issueCredential: issueCredential(learnCard),\n verifyCredential: verifyCredential(learnCard),\n issuePresentation: issuePresentation(learnCard),\n verifyPresentation: verifyPresentation(learnCard),\n getTestVc: (_learnCard, subject = 'did:example:d23dd687a7dc6787646f2eb98d0') => {\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n id: 'http://example.org/credentials/3731',\n type: ['VerifiableCredential'],\n issuer: did,\n issuanceDate: '2020-08-19T21:41:50Z',\n credentialSubject: { id: subject },\n };\n },\n getTestVp: async (_learnCard, _credential) => {\n const credential =\n _credential ||\n (await _learnCard.invoke.issueCredential(_learnCard.invoke.getTestVc()));\n\n const did = _learnCard.id.did();\n\n return {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n verifiableCredential: credential,\n };\n },\n getDidAuthVp: async (_learnCard, options = {}) => {\n const did = _learnCard.id.did();\n const unsignedVP: UnsignedVP = {\n '@context': ['https://www.w3.org/2018/credentials/v1'],\n type: ['VerifiablePresentation'],\n holder: did,\n };\n\n return _learnCard.invoke.issuePresentation(unsignedVP, {\n proofPurpose: 'authentication',\n ...options,\n });\n },\n },\n };\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@learncard/vc-plugin",
3
- "version": "1.1.8",
3
+ "version": "1.1.10",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/vc-plugin.esm.js",
@@ -30,9 +30,9 @@
30
30
  },
31
31
  "types": "./dist/index.d.ts",
32
32
  "dependencies": {
33
- "@learncard/didkit-plugin": "^1.4.3",
34
- "@learncard/core": "9.1.4",
35
- "@learncard/types": "5.4.1"
33
+ "@learncard/core": "9.2.1",
34
+ "@learncard/types": "5.5.1",
35
+ "@learncard/didkit-plugin": "^1.4.5"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "node ./scripts/build.mjs && shx cp ./scripts/mixedEntypoint.js ./dist/index.js && tsc --p tsconfig.json",