@learncard/vc-plugin 1.1.13 → 1.1.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -31,7 +32,9 @@ var getDefaultVerificationMethod = /* @__PURE__ */ __name(async (learnCard, issu
31
32
  throw new Error("Cannot get default verification method: unable to get subject keypair");
32
33
  }
33
34
  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 verificationMethodEntry = typeof issuerDidDoc === "string" ? void 0 : issuerDidDoc?.verificationMethod?.find(
36
+ (entry) => typeof entry === "string" ? false : entry?.publicKeyJwk?.x === kp.x
37
+ );
35
38
  const verificationMethod = typeof verificationMethodEntry !== "string" && verificationMethodEntry?.id || await learnCard.invoke.didToVerificationMethod(issuerDid);
36
39
  return verificationMethod;
37
40
  }, "getDefaultVerificationMethod");
@@ -86,7 +89,10 @@ var issuePresentation = /* @__PURE__ */ __name((initLearnCard) => {
86
89
  ...signingOptions
87
90
  };
88
91
  if (!("verificationMethod" in options)) {
89
- options.verificationMethod = await getDefaultVerificationMethod(learnCard, learnCard.id.did());
92
+ options.verificationMethod = await getDefaultVerificationMethod(
93
+ learnCard,
94
+ learnCard.id.did()
95
+ );
90
96
  }
91
97
  return initLearnCard.invoke.issuePresentation(presentation, options, kp);
92
98
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/helpers.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
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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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,2 @@
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");
1
+ "use strict";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
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/helpers.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
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
- "names": []
5
+ "mappings": "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",
6
+ "names": ["src_exports", "__export", "getVCPlugin", "__toCommonJS", "getDefaultVerificationMethod", "__name", "learnCard", "issuerDid", "kp", "issuerDidDoc", "verificationMethodEntry", "entry", "issueCredential", "__name", "initLearnCard", "learnCard", "credential", "signingOptions", "kp", "options", "issuerDid", "getDefaultVerificationMethod", "verifyCredential", "__name", "initLearnCard", "_learnCard", "credential", "_options", "options", "issuePresentation", "__name", "initLearnCard", "learnCard", "presentation", "signingOptions", "kp", "options", "getDefaultVerificationMethod", "verifyPresentation", "__name", "initLearnCard", "_learnCard", "presentation", "options", "getVCPlugin", "__name", "learnCard", "issueCredential", "verifyCredential", "issuePresentation", "verifyPresentation", "_learnCard", "subject", "did", "_credential", "credential", "options", "unsignedVP"]
7
7
  }
@@ -8,7 +8,9 @@ var getDefaultVerificationMethod = /* @__PURE__ */ __name(async (learnCard, issu
8
8
  throw new Error("Cannot get default verification method: unable to get subject keypair");
9
9
  }
10
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);
11
+ const verificationMethodEntry = typeof issuerDidDoc === "string" ? void 0 : issuerDidDoc?.verificationMethod?.find(
12
+ (entry) => typeof entry === "string" ? false : entry?.publicKeyJwk?.x === kp.x
13
+ );
12
14
  const verificationMethod = typeof verificationMethodEntry !== "string" && verificationMethodEntry?.id || await learnCard.invoke.didToVerificationMethod(issuerDid);
13
15
  return verificationMethod;
14
16
  }, "getDefaultVerificationMethod");
@@ -63,7 +65,10 @@ var issuePresentation = /* @__PURE__ */ __name((initLearnCard) => {
63
65
  ...signingOptions
64
66
  };
65
67
  if (!("verificationMethod" in options)) {
66
- options.verificationMethod = await getDefaultVerificationMethod(learnCard, learnCard.id.did());
68
+ options.verificationMethod = await getDefaultVerificationMethod(
69
+ learnCard,
70
+ learnCard.id.did()
71
+ );
67
72
  }
68
73
  return initLearnCard.invoke.issuePresentation(presentation, options, kp);
69
74
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/helpers.ts", "../src/issueCredential.ts", "../src/verifyCredential.ts", "../src/issuePresentation.ts", "../src/verifyPresentation.ts", "../src/vc.ts"],
4
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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",
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.13",
3
+ "version": "1.1.15",
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/core": "9.3.0",
34
- "@learncard/types": "5.5.1",
35
- "@learncard/didkit-plugin": "^1.4.8"
33
+ "@learncard/core": "9.3.2",
34
+ "@learncard/didkit-plugin": "^1.4.10",
35
+ "@learncard/types": "5.5.3"
36
36
  },
37
37
  "scripts": {
38
38
  "build": "node ./scripts/build.mjs && shx cp ./scripts/mixedEntypoint.js ./dist/index.js && tsc --p tsconfig.json",