@learncard/core 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -36024,7 +36024,7 @@ function getImports() {
36024
36024
  const ret = wasm.memory;
36025
36025
  return addHeapObject(ret);
36026
36026
  };
36027
- imports.wbg.__wbindgen_closure_wrapper10020 = function(arg0, arg1, arg2) {
36027
+ imports.wbg.__wbindgen_closure_wrapper10021 = function(arg0, arg1, arg2) {
36028
36028
  const ret = makeMutClosure(arg0, arg1, 3552, __wbg_adapter_24);
36029
36029
  return addHeapObject(ret);
36030
36030
  };
@@ -36061,7 +36061,7 @@ var didkit_wasm_default = init;
36061
36061
 
36062
36062
  // src/didkit/index.ts
36063
36063
  var initialized = false;
36064
- var init2 = /* @__PURE__ */ __name((arg = "https://cdn.filestackcontent.com/soErM6xgSNqxVeJZzo7v") => __async(void 0, null, function* () {
36064
+ var init2 = /* @__PURE__ */ __name((arg = "https://cdn.filestackcontent.com/R0BsvnoVRhezGazRDUy5") => __async(void 0, null, function* () {
36065
36065
  if (initialized)
36066
36066
  return;
36067
36067
  initialized = true;
@@ -36126,6 +36126,90 @@ var ExpirationPlugin = /* @__PURE__ */ __name((wallet) => ({
36126
36126
  }
36127
36127
  }), "ExpirationPlugin");
36128
36128
 
36129
+ // src/wallet/helpers/wallet.helpers.ts
36130
+ var recycleDependents = /* @__PURE__ */ __name((_methods) => ({}), "recycleDependents");
36131
+
36132
+ // src/wallet/plugins/vc-templates/templates.ts
36133
+ var VC_TEMPLATES = {
36134
+ basic: ({
36135
+ did = "did:example:d23dd687a7dc6787646f2eb98d0",
36136
+ subject = "did:example:d23dd687a7dc6787646f2eb98d0",
36137
+ issuanceDate = "2020-08-19T21:41:50Z"
36138
+ } = {}) => ({
36139
+ "@context": ["https://www.w3.org/2018/credentials/v1"],
36140
+ id: "http://example.org/credentials/3731",
36141
+ type: ["VerifiableCredential"],
36142
+ issuer: did,
36143
+ issuanceDate,
36144
+ credentialSubject: { id: subject }
36145
+ }),
36146
+ achievement: ({
36147
+ did = "did:example:d23dd687a7dc6787646f2eb98d0",
36148
+ subject = "did:example:d23dd687a7dc6787646f2eb98d0",
36149
+ name: name5 = "Teamwork Badge",
36150
+ achievementName = "Teamwork",
36151
+ description = "This badge recognizes the development of the capacity to collaborate within a group environment.",
36152
+ criteriaNarrative = "Team members are nominated for this badge by their peers and recognized upon review by Example Corp management.",
36153
+ issuanceDate = "2020-08-19T21:41:50Z"
36154
+ } = {}) => ({
36155
+ "@context": [
36156
+ "https://www.w3.org/2018/credentials/v1",
36157
+ "https://imsglobal.github.io/openbadges-specification/context.json"
36158
+ ],
36159
+ id: "http://example.com/credentials/3527",
36160
+ type: ["VerifiableCredential", "OpenBadgeCredential"],
36161
+ issuer: did,
36162
+ issuanceDate,
36163
+ name: name5,
36164
+ credentialSubject: {
36165
+ id: subject,
36166
+ type: ["AchievementSubject"],
36167
+ achievement: {
36168
+ id: "https://example.com/achievements/21st-century-skills/teamwork",
36169
+ type: ["Achievement"],
36170
+ criteria: { narrative: criteriaNarrative },
36171
+ description,
36172
+ name: achievementName
36173
+ }
36174
+ }
36175
+ })
36176
+ };
36177
+
36178
+ // src/wallet/plugins/vc-templates/vc-templates.ts
36179
+ var getVCTemplatesPlugin = /* @__PURE__ */ __name((wallet) => {
36180
+ return {
36181
+ pluginMethods: __spreadProps(__spreadValues({}, recycleDependents(wallet.pluginMethods)), {
36182
+ newCredential: (_wallet, args = { type: "basic" }) => {
36183
+ var _a, _b;
36184
+ const did = args.did || ((_b = (_a = _wallet.pluginMethods).getSubjectDid) == null ? void 0 : _b.call(_a, "key"));
36185
+ if (!did)
36186
+ throw new Error("Could not get issuer did!");
36187
+ const defaults = {
36188
+ did,
36189
+ subject: "did:example:d23dd687a7dc6787646f2eb98d0",
36190
+ issuanceDate: "2020-08-19T21:41:50Z"
36191
+ };
36192
+ const _c = args, { type = "basic" } = _c, functionArgs = __objRest(_c, ["type"]);
36193
+ if (!(type in VC_TEMPLATES))
36194
+ throw new Error("Invalid Test VC Type!");
36195
+ return VC_TEMPLATES[type](__spreadValues(__spreadValues({}, defaults), functionArgs));
36196
+ },
36197
+ newPresentation: (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], function* (_wallet, credential, args = {}) {
36198
+ var _a, _b;
36199
+ const did = (args == null ? void 0 : args.did) || ((_b = (_a = _wallet.pluginMethods).getSubjectDid) == null ? void 0 : _b.call(_a, "key"));
36200
+ if (!did)
36201
+ throw new Error("Could not get issuer did!");
36202
+ return {
36203
+ "@context": ["https://www.w3.org/2018/credentials/v1"],
36204
+ type: ["VerifiablePresentation"],
36205
+ holder: did,
36206
+ verifiableCredential: credential
36207
+ };
36208
+ })
36209
+ })
36210
+ };
36211
+ }, "getVCTemplatesPlugin");
36212
+
36129
36213
  // ../../node_modules/.pnpm/zod@3.17.3/node_modules/zod/lib/index.mjs
36130
36214
  var util;
36131
36215
  (function(util2) {
@@ -38870,12 +38954,12 @@ var ImageValidator = mod.string().or(mod.object({
38870
38954
  caption: mod.string().optional()
38871
38955
  }));
38872
38956
  var GeoCoordinatesValidator = mod.object({
38873
- type: mod.string().array().nonempty(),
38957
+ type: mod.string().min(1).or(mod.string().array().nonempty()),
38874
38958
  latitude: mod.number(),
38875
38959
  longitude: mod.number()
38876
38960
  });
38877
38961
  var AddressValidator = mod.object({
38878
- type: mod.string().array().nonempty(),
38962
+ type: mod.string().min(1).or(mod.string().array().nonempty()),
38879
38963
  addressCountry: mod.string().optional(),
38880
38964
  addressCountryCode: mod.string().optional(),
38881
38965
  addressRegion: mod.string().optional(),
@@ -38906,7 +38990,7 @@ var IdentifierTypeValidator = mod.enum([
38906
38990
  "identifier"
38907
38991
  ]).or(mod.string());
38908
38992
  var IdentifierEntryValidator = mod.object({
38909
- type: mod.string().array().nonempty(),
38993
+ type: mod.string().min(1).or(mod.string().array().nonempty()),
38910
38994
  identifier: mod.string(),
38911
38995
  identifierType: IdentifierTypeValidator
38912
38996
  });
@@ -39126,7 +39210,7 @@ var AchievementSubjectValidator = mod.object({
39126
39210
  activityStartDate: mod.string().optional(),
39127
39211
  creditsEarned: mod.number().optional(),
39128
39212
  achievement: AchievementValidator.optional(),
39129
- identifier: IdentityObjectValidator.optional(),
39213
+ identifier: IdentityObjectValidator.array().optional(),
39130
39214
  image: ImageValidator.optional(),
39131
39215
  licenseNumber: mod.string().optional(),
39132
39216
  narrative: mod.string().optional(),
@@ -39147,7 +39231,7 @@ var EvidenceValidator = mod.object({
39147
39231
  var UnsignedAchievementCredentialValidator = UnsignedVCValidator.extend({
39148
39232
  name: mod.string().optional(),
39149
39233
  description: mod.string().optional(),
39150
- image: mod.string().optional(),
39234
+ image: ImageValidator.optional(),
39151
39235
  credentialSubject: AchievementSubjectValidator.or(AchievementSubjectValidator.array()),
39152
39236
  endorsement: UnsignedVCValidator.array().optional(),
39153
39237
  evidence: EvidenceValidator.array().optional()
@@ -40794,9 +40878,12 @@ var verifyCredential2 = /* @__PURE__ */ __name((wallet) => {
40794
40878
  // src/wallet/initializers/emptyWallet.ts
40795
40879
  var emptyWallet = /* @__PURE__ */ __name((..._0) => __async(void 0, [..._0], function* ({ didkit } = {}) {
40796
40880
  const didkitWallet = yield (yield generateWallet()).addPlugin(yield getDidKitPlugin(didkit));
40797
- const wallet = yield didkitWallet.addPlugin(ExpirationPlugin(didkitWallet));
40881
+ const expirationWallet = yield didkitWallet.addPlugin(ExpirationPlugin(didkitWallet));
40882
+ const wallet = yield expirationWallet.addPlugin(getVCTemplatesPlugin(expirationWallet));
40798
40883
  return {
40799
40884
  _wallet: wallet,
40885
+ newCredential: wallet.pluginMethods.newCredential,
40886
+ newPresentation: wallet.pluginMethods.newPresentation,
40800
40887
  verifyCredential: verifyCredential2(wallet),
40801
40888
  verifyPresentation: wallet.pluginMethods.verifyPresentation,
40802
40889
  resolveDid: wallet.pluginMethods.resolveDid
@@ -53669,9 +53756,6 @@ var getDidKeyPlugin = /* @__PURE__ */ __name((wallet, key2) => __async(void 0, n
53669
53756
  };
53670
53757
  }), "getDidKeyPlugin");
53671
53758
 
53672
- // src/wallet/helpers/wallet.helpers.ts
53673
- var recycleDependents = /* @__PURE__ */ __name((_methods) => ({}), "recycleDependents");
53674
-
53675
53759
  // src/wallet/plugins/vc/issueCredential.ts
53676
53760
  var issueCredential2 = /* @__PURE__ */ __name((initWallet) => {
53677
53761
  return (wallet, credential) => __async(void 0, null, function* () {
@@ -53715,7 +53799,7 @@ var verifyPresentation2 = /* @__PURE__ */ __name((initWallet) => {
53715
53799
  }, "verifyPresentation");
53716
53800
 
53717
53801
  // src/wallet/plugins/vc/vc.ts
53718
- var getVCPlugin = /* @__PURE__ */ __name((wallet) => __async(void 0, null, function* () {
53802
+ var getVCPlugin = /* @__PURE__ */ __name((wallet) => {
53719
53803
  return {
53720
53804
  pluginMethods: __spreadProps(__spreadValues({}, recycleDependents(wallet.pluginMethods)), {
53721
53805
  issueCredential: issueCredential2(wallet),
@@ -53745,7 +53829,7 @@ var getVCPlugin = /* @__PURE__ */ __name((wallet) => __async(void 0, null, funct
53745
53829
  })
53746
53830
  })
53747
53831
  };
53748
- }), "getVCPlugin");
53832
+ }, "getVCPlugin");
53749
53833
 
53750
53834
  // src/wallet/plugins/EthereumPlugin/index.ts
53751
53835
  var import_ethers2 = require("ethers");
@@ -57096,8 +57180,9 @@ var walletFromKey = /* @__PURE__ */ __name((_0, ..._1) => __async(void 0, [_0, .
57096
57180
  } = {}) {
57097
57181
  const didkitWallet = yield (yield generateWallet(defaultContents)).addPlugin(yield getDidKitPlugin(didkit));
57098
57182
  const didkeyWallet = yield didkitWallet.addPlugin(yield getDidKeyPlugin(didkitWallet, key2));
57099
- const didkeyAndVCWallet = yield didkeyWallet.addPlugin(yield getVCPlugin(didkeyWallet));
57100
- const idxWallet = yield didkeyAndVCWallet.addPlugin(yield getIDXPlugin(didkeyAndVCWallet, ceramicIdx));
57183
+ const didkeyAndVCWallet = yield didkeyWallet.addPlugin(getVCPlugin(didkeyWallet));
57184
+ const templateWallet = yield didkeyAndVCWallet.addPlugin(getVCTemplatesPlugin(didkeyAndVCWallet));
57185
+ const idxWallet = yield templateWallet.addPlugin(yield getIDXPlugin(templateWallet, ceramicIdx));
57101
57186
  const expirationWallet = yield idxWallet.addPlugin(ExpirationPlugin(idxWallet));
57102
57187
  const ethWallet = yield expirationWallet.addPlugin(getEthereumPlugin(expirationWallet, ethereumConfig));
57103
57188
  const wallet = yield ethWallet.addPlugin(getVpqrPlugin(ethWallet));
@@ -57105,6 +57190,8 @@ var walletFromKey = /* @__PURE__ */ __name((_0, ..._1) => __async(void 0, [_0, .
57105
57190
  _wallet: wallet,
57106
57191
  did: (type = "key") => wallet.pluginMethods.getSubjectDid(type),
57107
57192
  keypair: (type = "ed25519") => wallet.pluginMethods.getSubjectKeypair(type),
57193
+ newCredential: wallet.pluginMethods.newCredential,
57194
+ newPresentation: wallet.pluginMethods.newPresentation,
57108
57195
  issueCredential: wallet.pluginMethods.issueCredential,
57109
57196
  verifyCredential: verifyCredential2(wallet),
57110
57197
  issuePresentation: wallet.pluginMethods.issuePresentation,