@learncard/core 1.0.1 → 1.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.
- package/dist/core.cjs.development.js +37 -89
- package/dist/core.cjs.development.js.map +3 -3
- package/dist/core.cjs.production.min.js +42 -42
- package/dist/core.cjs.production.min.js.map +3 -3
- package/dist/core.d.ts +17 -37
- package/dist/core.esm.js +37 -89
- package/dist/core.esm.js.map +3 -3
- package/package.json +1 -2
@@ -26905,24 +26905,10 @@ var require_query_string = __commonJS({
|
|
26905
26905
|
// src/index.ts
|
26906
26906
|
var src_exports2 = {};
|
26907
26907
|
__export(src_exports2, {
|
26908
|
-
createWallet: () => createWallet,
|
26909
26908
|
walletFromKey: () => walletFromKey
|
26910
26909
|
});
|
26911
26910
|
module.exports = __toCommonJS(src_exports2);
|
26912
26911
|
|
26913
|
-
// ../../node_modules/.pnpm/hex-lite@1.5.0/node_modules/hex-lite/dist/hex-lite.mjs
|
26914
|
-
function toUint8Array(str) {
|
26915
|
-
var s = 0, sl = str.length, bytes = [];
|
26916
|
-
if (sl % 2) {
|
26917
|
-
throw new Error("invalid hex:" + str);
|
26918
|
-
}
|
26919
|
-
for (; s < sl; s += 2) {
|
26920
|
-
bytes.push(parseInt(str.substr(s, 2), 16));
|
26921
|
-
}
|
26922
|
-
return new Uint8Array(bytes);
|
26923
|
-
}
|
26924
|
-
__name(toUint8Array, "toUint8Array");
|
26925
|
-
|
26926
26912
|
// src/didkit/pkg/didkit_wasm.js
|
26927
26913
|
var wasm;
|
26928
26914
|
var cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
|
@@ -36023,7 +36009,6 @@ if (isNodejs()) {
|
|
36023
36009
|
} else {
|
36024
36010
|
crypto3 = window.crypto;
|
36025
36011
|
}
|
36026
|
-
var crypto_default = crypto3;
|
36027
36012
|
|
36028
36013
|
// src/wallet/base/wallet.ts
|
36029
36014
|
var addPluginToWallet = /* @__PURE__ */ __name((wallet, plugin) => __async(void 0, null, function* () {
|
@@ -36042,11 +36027,10 @@ var removeFromWallet = /* @__PURE__ */ __name((wallet, contentId) => __async(voi
|
|
36042
36027
|
var bindMethods = /* @__PURE__ */ __name((wallet, pluginMethods) => Object.fromEntries(Object.entries(pluginMethods).map(([key2, method]) => [key2, method.bind(wallet, wallet)])), "bindMethods");
|
36043
36028
|
var generateWallet = /* @__PURE__ */ __name((..._0) => __async(void 0, [..._0], function* (contents = [], _wallet = {}) {
|
36044
36029
|
const { plugins = [] } = _wallet;
|
36045
|
-
const
|
36046
|
-
const newPluginMethods = __spreadValues(__spreadValues({},
|
36047
|
-
|
36048
|
-
|
36049
|
-
}, { pluginMethods: {}, pluginConstants: {} });
|
36030
|
+
const pluginMethods = plugins.reduce((cumulativePluginMethods, plugin) => {
|
36031
|
+
const newPluginMethods = __spreadValues(__spreadValues({}, cumulativePluginMethods), plugin.pluginMethods);
|
36032
|
+
return newPluginMethods;
|
36033
|
+
}, {});
|
36050
36034
|
const wallet = {
|
36051
36035
|
contents: [...contents],
|
36052
36036
|
add: function(content) {
|
@@ -36058,7 +36042,6 @@ var generateWallet = /* @__PURE__ */ __name((..._0) => __async(void 0, [..._0],
|
|
36058
36042
|
status: "UNLOCKED" /* Unlocked */,
|
36059
36043
|
plugins,
|
36060
36044
|
pluginMethods,
|
36061
|
-
pluginConstants,
|
36062
36045
|
addPlugin: function(plugin) {
|
36063
36046
|
return addPluginToWallet(this, plugin);
|
36064
36047
|
}
|
@@ -43333,6 +43316,19 @@ var DID = class {
|
|
43333
43316
|
};
|
43334
43317
|
__name(DID, "DID");
|
43335
43318
|
|
43319
|
+
// ../../node_modules/.pnpm/hex-lite@1.5.0/node_modules/hex-lite/dist/hex-lite.mjs
|
43320
|
+
function toUint8Array(str) {
|
43321
|
+
var s = 0, sl = str.length, bytes = [];
|
43322
|
+
if (sl % 2) {
|
43323
|
+
throw new Error("invalid hex:" + str);
|
43324
|
+
}
|
43325
|
+
for (; s < sl; s += 2) {
|
43326
|
+
bytes.push(parseInt(str.substr(s, 2), 16));
|
43327
|
+
}
|
43328
|
+
return new Uint8Array(bytes);
|
43329
|
+
}
|
43330
|
+
__name(toUint8Array, "toUint8Array");
|
43331
|
+
|
43336
43332
|
// src/wallet/plugins/idx/idx.ts
|
43337
43333
|
var import_key_did_resolver = __toESM(require_lib());
|
43338
43334
|
|
@@ -48357,13 +48353,11 @@ __name(CeramicClient, "CeramicClient");
|
|
48357
48353
|
|
48358
48354
|
// src/wallet/plugins/idx/idx.ts
|
48359
48355
|
var getCeramicClientFromWalletSuite = /* @__PURE__ */ __name((wallet, ceramicEndpoint) => __async(void 0, null, function* () {
|
48360
|
-
var _a2, _b;
|
48361
48356
|
const client = new CeramicClient(ceramicEndpoint);
|
48362
48357
|
const resolver = __spreadValues({}, import_key_did_resolver.default.getResolver());
|
48363
48358
|
const did = new DID({ resolver });
|
48364
48359
|
client.did = did;
|
48365
|
-
const
|
48366
|
-
const key2 = (_b = (_a2 = contents == null ? void 0 : contents.find((c) => (c == null ? void 0 : c.name) === "DID Key Secret")) == null ? void 0 : _a2.value) != null ? _b : "";
|
48360
|
+
const key2 = wallet.pluginMethods.getKey();
|
48367
48361
|
const ceramicProvider = new Ed25519Provider(toUint8Array(key2));
|
48368
48362
|
client.did.setProvider(ceramicProvider);
|
48369
48363
|
yield client.did.authenticate();
|
@@ -48433,65 +48427,22 @@ var getIDXPlugin = /* @__PURE__ */ __name((_0, _1) => __async(void 0, [_0, _1],
|
|
48433
48427
|
addVerifiableCredentialInIdx: (_02, _12) => __async(void 0, [_02, _12], function* (_wallet, { title, id }) {
|
48434
48428
|
return addCredentialStreamIdToIndex({ title, id });
|
48435
48429
|
})
|
48436
|
-
}
|
48437
|
-
pluginConstants: {}
|
48430
|
+
}
|
48438
48431
|
};
|
48439
48432
|
}), "getIDXPlugin");
|
48440
48433
|
|
48441
|
-
// src/wallet/plugins/didkey/generateContentFromSeed.ts
|
48442
|
-
var seedToId = /* @__PURE__ */ __name((seed) => __async(void 0, null, function* () {
|
48443
|
-
const buffer2 = yield crypto_default.subtle.digest("SHA-256", seed);
|
48444
|
-
return `urn:digest:${Buffer.from(new Uint8Array(buffer2)).toString("hex")}`;
|
48445
|
-
}), "seedToId");
|
48446
|
-
var generateContentFromSeed = /* @__PURE__ */ __name((seed) => __async(void 0, null, function* () {
|
48447
|
-
const privateKeyJwk = JSON.parse(generateEd25519KeyFromBytes(seed));
|
48448
|
-
const controller = keyToDID("key", JSON.stringify(privateKeyJwk));
|
48449
|
-
const _a2 = privateKeyJwk, { d } = _a2, publicKeyJwk = __objRest(_a2, ["d"]);
|
48450
|
-
const signingKey = {
|
48451
|
-
controller,
|
48452
|
-
id: `${controller}#${controller.split(":").at(-1)}`,
|
48453
|
-
privateKeyJwk,
|
48454
|
-
publicKeyJwk,
|
48455
|
-
type: "JsonWebKey2020"
|
48456
|
-
};
|
48457
|
-
const seedId = yield seedToId(seed);
|
48458
|
-
const secret = {
|
48459
|
-
"@context": ["http://w3id.org/wallet/v1"],
|
48460
|
-
id: seedId,
|
48461
|
-
name: "DID Key Secret",
|
48462
|
-
image: "https://via.placeholder.com/150",
|
48463
|
-
description: "Used to generate a DID with a signing and encryption key.",
|
48464
|
-
tags: ["inception"],
|
48465
|
-
type: "Entropy",
|
48466
|
-
value: Buffer.from(seed).toString("hex")
|
48467
|
-
};
|
48468
|
-
const key0 = __spreadProps(__spreadValues({}, signingKey), {
|
48469
|
-
"@context": ["http://w3id.org/wallet/v1"],
|
48470
|
-
name: "Signing Key",
|
48471
|
-
image: "https://via.placeholder.com/150",
|
48472
|
-
description: "Used to produce digital signatures.",
|
48473
|
-
tags: ["inception"],
|
48474
|
-
generatedFrom: [secret.id]
|
48475
|
-
});
|
48476
|
-
return [secret, key0];
|
48477
|
-
}), "generateContentFromSeed");
|
48478
|
-
|
48479
48434
|
// src/wallet/plugins/didkey/index.ts
|
48480
|
-
var
|
48481
|
-
|
48482
|
-
|
48483
|
-
|
48484
|
-
|
48485
|
-
|
48486
|
-
|
48487
|
-
|
48488
|
-
return (_a2 = wallet.contents.find((content) => content.name === "Signing Key")) == null ? void 0 : _a2.privateKeyJwk;
|
48435
|
+
var getDidKeyPlugin = /* @__PURE__ */ __name((key2) => __async(void 0, null, function* () {
|
48436
|
+
const keypair = JSON.parse(generateEd25519KeyFromBytes(toUint8Array(key2.padStart(64, "0"))));
|
48437
|
+
const did = keyToDID("key", JSON.stringify(keypair));
|
48438
|
+
return {
|
48439
|
+
pluginMethods: {
|
48440
|
+
getSubjectDid: () => did,
|
48441
|
+
getSubjectKeypair: () => keypair,
|
48442
|
+
getKey: () => key2
|
48489
48443
|
}
|
48490
|
-
}
|
48491
|
-
|
48492
|
-
generateContentFromSeed
|
48493
|
-
}
|
48494
|
-
};
|
48444
|
+
};
|
48445
|
+
}), "getDidKeyPlugin");
|
48495
48446
|
|
48496
48447
|
// src/wallet/plugins/expiration/index.ts
|
48497
48448
|
var ExpirationPlugin = /* @__PURE__ */ __name((wallet) => ({
|
@@ -48506,8 +48457,7 @@ var ExpirationPlugin = /* @__PURE__ */ __name((wallet) => ({
|
|
48506
48457
|
}
|
48507
48458
|
return verificationCheck;
|
48508
48459
|
})
|
48509
|
-
}
|
48510
|
-
pluginConstants: {}
|
48460
|
+
}
|
48511
48461
|
}), "ExpirationPlugin");
|
48512
48462
|
|
48513
48463
|
// src/wallet/plugins/vc/issueCredential.ts
|
@@ -48579,8 +48529,7 @@ var getVCPlugin = /* @__PURE__ */ __name((wallet) => __async(void 0, null, funct
|
|
48579
48529
|
credentialSubject: { id: subject }
|
48580
48530
|
};
|
48581
48531
|
}
|
48582
|
-
})
|
48583
|
-
pluginConstants: {}
|
48532
|
+
})
|
48584
48533
|
};
|
48585
48534
|
}), "getVCPlugin");
|
48586
48535
|
|
@@ -48640,9 +48589,13 @@ var defaultCeramicIDXArgs = {
|
|
48640
48589
|
};
|
48641
48590
|
|
48642
48591
|
// src/wallet/init.ts
|
48643
|
-
var
|
48592
|
+
var walletFromKey = /* @__PURE__ */ __name((_0, ..._1) => __async(void 0, [_0, ..._1], function* (key2, {
|
48593
|
+
ceramicIdx = defaultCeramicIDXArgs,
|
48594
|
+
didkit,
|
48595
|
+
defaultContents = []
|
48596
|
+
} = {}) {
|
48644
48597
|
yield didkit_default(didkit);
|
48645
|
-
const didkeyWallet = yield (yield generateWallet(defaultContents)).addPlugin(
|
48598
|
+
const didkeyWallet = yield (yield generateWallet(defaultContents)).addPlugin(yield getDidKeyPlugin(key2));
|
48646
48599
|
const didkeyAndVCWallet = yield didkeyWallet.addPlugin(yield getVCPlugin(didkeyWallet));
|
48647
48600
|
const idxWallet = yield didkeyAndVCWallet.addPlugin(yield getIDXPlugin(didkeyAndVCWallet, ceramicIdx));
|
48648
48601
|
const wallet = yield idxWallet.addPlugin(ExpirationPlugin(idxWallet));
|
@@ -48667,11 +48620,6 @@ var createWallet = /* @__PURE__ */ __name((_0, ..._1) => __async(void 0, [_0, ..
|
|
48667
48620
|
readFromCeramic: wallet.pluginMethods.readContentFromCeramic,
|
48668
48621
|
getTestVc: wallet.pluginMethods.getTestVc
|
48669
48622
|
};
|
48670
|
-
}), "createWallet");
|
48671
|
-
var walletFromKey = /* @__PURE__ */ __name((_0, ..._1) => __async(void 0, [_0, ..._1], function* (key2, { ceramicIdx = defaultCeramicIDXArgs, didkit } = {}) {
|
48672
|
-
yield didkit_default(didkit);
|
48673
|
-
const didDocuments = yield DidKeyPlugin.pluginConstants.generateContentFromSeed(toUint8Array(key2.padStart(64, "0")));
|
48674
|
-
return createWallet(didDocuments, { ceramicIdx, didkit });
|
48675
48623
|
}), "walletFromKey");
|
48676
48624
|
/*!
|
48677
48625
|
* Copyright (c) 2014, GMO GlobalSign
|