@learncard/core 5.1.0 → 5.1.1
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/README.md +1 -1
- package/dist/core.cjs.development.js +51 -10
- package/dist/core.cjs.development.js.map +3 -3
- package/dist/core.cjs.production.min.js +59 -59
- package/dist/core.cjs.production.min.js.map +3 -3
- package/dist/core.d.ts +118 -11
- package/dist/core.esm.js +51 -10
- package/dist/core.esm.js.map +3 -3
- package/package.json +4 -3
package/dist/core.d.ts
CHANGED
@@ -4590,6 +4590,22 @@ declare const VerificationItemValidator: z.ZodObject<{
|
|
4590
4590
|
check: string;
|
4591
4591
|
}>;
|
4592
4592
|
export declare type VerificationItem = z.infer<typeof VerificationItemValidator>;
|
4593
|
+
declare const IDXCredentialValidator: z.ZodObject<{
|
4594
|
+
id: z.ZodString;
|
4595
|
+
title: z.ZodString;
|
4596
|
+
storageType: z.ZodOptional<z.ZodEnum<[
|
4597
|
+
"ceramic"
|
4598
|
+
]>>;
|
4599
|
+
}, "strip", z.ZodTypeAny, {
|
4600
|
+
storageType?: "ceramic" | undefined;
|
4601
|
+
id: string;
|
4602
|
+
title: string;
|
4603
|
+
}, {
|
4604
|
+
storageType?: "ceramic" | undefined;
|
4605
|
+
id: string;
|
4606
|
+
title: string;
|
4607
|
+
}>;
|
4608
|
+
export declare type IDXCredential = z.infer<typeof IDXCredentialValidator>;
|
4593
4609
|
export declare type DidMethod = "key" | "tz" | "ethr" | `pkh:${"tz" | "tezos" | "sol" | "solana" | "eth" | "celo" | "poly" | "btc" | "doge" | "eip155" | "bip122"}` | `pkh:eip155:${string}` | `pkh:bip122:${string}`;
|
4594
4610
|
export declare type KeyPair = {
|
4595
4611
|
kty: string;
|
@@ -4612,6 +4628,7 @@ export declare type DidkitPluginMethods = {
|
|
4612
4628
|
issuePresentation: (presentation: UnsignedVP, options: ProofOptions, keypair: KeyPair) => Promise<VP>;
|
4613
4629
|
verifyPresentation: (presentation: VP) => Promise<VerificationCheck>;
|
4614
4630
|
contextLoader: (url: string) => Promise<Record<string, any>>;
|
4631
|
+
resolveDid: (did: string) => Promise<Record<string, any>>;
|
4615
4632
|
};
|
4616
4633
|
export declare type Algorithm = "ed25519" | "secp256k1";
|
4617
4634
|
export declare type DidKeyPluginMethods<DidMethod extends string> = {
|
@@ -4647,17 +4664,106 @@ export declare type IDXPluginMethods = {
|
|
4647
4664
|
addVerifiableCredentialInIdx: (cred: IDXCredential) => Promise<StreamID>;
|
4648
4665
|
removeVerifiableCredentialInIdx: (title: string) => Promise<StreamID>;
|
4649
4666
|
};
|
4650
|
-
declare
|
4651
|
-
|
4652
|
-
|
4653
|
-
|
4667
|
+
declare const IDXCredentialValidator: z.ZodObject<{
|
4668
|
+
id: z.ZodString;
|
4669
|
+
title: z.ZodString;
|
4670
|
+
storageType: z.ZodOptional<z.ZodEnum<[
|
4671
|
+
"ceramic"
|
4672
|
+
]>>;
|
4673
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
4674
|
+
name: z.ZodOptional<z.ZodString>;
|
4675
|
+
image: z.ZodOptional<z.ZodString>;
|
4676
|
+
}, "strip", z.ZodAny, {
|
4677
|
+
[x: string]: any;
|
4678
|
+
name?: string | undefined;
|
4679
|
+
image?: string | undefined;
|
4680
|
+
}, {
|
4681
|
+
[x: string]: any;
|
4682
|
+
name?: string | undefined;
|
4683
|
+
image?: string | undefined;
|
4684
|
+
}>>;
|
4685
|
+
}, "strict", z.ZodTypeAny, {
|
4686
|
+
storageType?: "ceramic" | undefined;
|
4687
|
+
metadata?: {
|
4688
|
+
[x: string]: any;
|
4689
|
+
name?: string | undefined;
|
4690
|
+
image?: string | undefined;
|
4691
|
+
} | undefined;
|
4654
4692
|
id: string;
|
4655
4693
|
title: string;
|
4656
|
-
|
4657
|
-
|
4658
|
-
|
4659
|
-
|
4660
|
-
|
4694
|
+
}, {
|
4695
|
+
storageType?: "ceramic" | undefined;
|
4696
|
+
metadata?: {
|
4697
|
+
[x: string]: any;
|
4698
|
+
name?: string | undefined;
|
4699
|
+
image?: string | undefined;
|
4700
|
+
} | undefined;
|
4701
|
+
id: string;
|
4702
|
+
title: string;
|
4703
|
+
}>;
|
4704
|
+
export declare type IDXCredential = z.infer<typeof IDXCredentialValidator>;
|
4705
|
+
declare const CredentialsListValidator: z.ZodObject<{
|
4706
|
+
credentials: z.ZodArray<z.ZodObject<{
|
4707
|
+
id: z.ZodString;
|
4708
|
+
title: z.ZodString;
|
4709
|
+
storageType: z.ZodOptional<z.ZodEnum<[
|
4710
|
+
"ceramic"
|
4711
|
+
]>>;
|
4712
|
+
metadata: z.ZodOptional<z.ZodObject<{
|
4713
|
+
name: z.ZodOptional<z.ZodString>;
|
4714
|
+
image: z.ZodOptional<z.ZodString>;
|
4715
|
+
}, "strip", z.ZodAny, {
|
4716
|
+
[x: string]: any;
|
4717
|
+
name?: string | undefined;
|
4718
|
+
image?: string | undefined;
|
4719
|
+
}, {
|
4720
|
+
[x: string]: any;
|
4721
|
+
name?: string | undefined;
|
4722
|
+
image?: string | undefined;
|
4723
|
+
}>>;
|
4724
|
+
}, "strict", z.ZodTypeAny, {
|
4725
|
+
storageType?: "ceramic" | undefined;
|
4726
|
+
metadata?: {
|
4727
|
+
[x: string]: any;
|
4728
|
+
name?: string | undefined;
|
4729
|
+
image?: string | undefined;
|
4730
|
+
} | undefined;
|
4731
|
+
id: string;
|
4732
|
+
title: string;
|
4733
|
+
}, {
|
4734
|
+
storageType?: "ceramic" | undefined;
|
4735
|
+
metadata?: {
|
4736
|
+
[x: string]: any;
|
4737
|
+
name?: string | undefined;
|
4738
|
+
image?: string | undefined;
|
4739
|
+
} | undefined;
|
4740
|
+
id: string;
|
4741
|
+
title: string;
|
4742
|
+
}>, "many">;
|
4743
|
+
}, "strict", z.ZodTypeAny, {
|
4744
|
+
credentials: {
|
4745
|
+
storageType?: "ceramic" | undefined;
|
4746
|
+
metadata?: {
|
4747
|
+
[x: string]: any;
|
4748
|
+
name?: string | undefined;
|
4749
|
+
image?: string | undefined;
|
4750
|
+
} | undefined;
|
4751
|
+
id: string;
|
4752
|
+
title: string;
|
4753
|
+
}[];
|
4754
|
+
}, {
|
4755
|
+
credentials: {
|
4756
|
+
storageType?: "ceramic" | undefined;
|
4757
|
+
metadata?: {
|
4758
|
+
[x: string]: any;
|
4759
|
+
name?: string | undefined;
|
4760
|
+
image?: string | undefined;
|
4761
|
+
} | undefined;
|
4762
|
+
id: string;
|
4763
|
+
title: string;
|
4764
|
+
}[];
|
4765
|
+
}>;
|
4766
|
+
export declare type CredentialsList = z.infer<typeof CredentialsListValidator>;
|
4661
4767
|
export declare type DependentMethods = {
|
4662
4768
|
getSubjectDid: (type: "key") => string;
|
4663
4769
|
getSubjectKeypair: () => KeyPair;
|
@@ -4723,7 +4829,7 @@ export declare type AllLearnCardMethods = {
|
|
4723
4829
|
* Empty error/warnings arrays means verification was successful
|
4724
4830
|
*/
|
4725
4831
|
verifyCredential: (credential: VC) => Promise<VerificationItem[]>;
|
4726
|
-
/**
|
4832
|
+
/** Signs an unsigned Verifiable Presentation, returning the signed VP */
|
4727
4833
|
issuePresentation: (presentation: UnsignedVP) => Promise<VP>;
|
4728
4834
|
/**
|
4729
4835
|
* Verifies a signed Verifiable Presentation
|
@@ -4761,6 +4867,7 @@ export declare type AllLearnCardMethods = {
|
|
4761
4867
|
* or by using `getCredentials` to get a list of all credentials that have been added to IDX
|
4762
4868
|
*/
|
4763
4869
|
removeCredential: (title: string) => Promise<void>;
|
4870
|
+
resolveDid: (did: string) => Promise<Record<string, any>>;
|
4764
4871
|
/**
|
4765
4872
|
* Resolves a stream ID, returning its contents
|
4766
4873
|
*
|
@@ -4825,7 +4932,7 @@ export declare type LearnCard<Methods extends keyof AllLearnCardMethods = keyof
|
|
4825
4932
|
/** Raw IoE wallet instance. You shouldn't need to drop down to this level! */
|
4826
4933
|
_wallet: RawWallet;
|
4827
4934
|
} & Pick<AllLearnCardMethods, Methods>;
|
4828
|
-
export declare type EmptyLearnCard = LearnCard<"verifyCredential" | "verifyPresentation", Wallet<"DIDKit" | "Expiration", DidkitPluginMethods & VerifyExtension>>;
|
4935
|
+
export declare type EmptyLearnCard = LearnCard<"verifyCredential" | "verifyPresentation" | "resolveDid", Wallet<"DIDKit" | "Expiration", DidkitPluginMethods & VerifyExtension>>;
|
4829
4936
|
export declare type CeramicIDXArgs = {
|
4830
4937
|
modelData: ModelAliases;
|
4831
4938
|
credentialAlias: string;
|
package/dist/core.esm.js
CHANGED
@@ -2888,9 +2888,9 @@ var require_package = __commonJS({
|
|
2888
2888
|
}
|
2889
2889
|
});
|
2890
2890
|
|
2891
|
-
// (disabled):../../node_modules/.pnpm/buffer@5.
|
2891
|
+
// (disabled):../../node_modules/.pnpm/buffer@5.2.1/node_modules/buffer/index.js
|
2892
2892
|
var require_buffer = __commonJS({
|
2893
|
-
"(disabled):../../node_modules/.pnpm/buffer@5.
|
2893
|
+
"(disabled):../../node_modules/.pnpm/buffer@5.2.1/node_modules/buffer/index.js"() {
|
2894
2894
|
}
|
2895
2895
|
});
|
2896
2896
|
|
@@ -35276,7 +35276,7 @@ import "abort-controller/polyfill";
|
|
35276
35276
|
|
35277
35277
|
// src/wallet/base/crypto.ts
|
35278
35278
|
import crypto2 from "isomorphic-webcrypto";
|
35279
|
-
if (typeof window === "undefined")
|
35279
|
+
if (typeof window === "undefined" && !globalThis.crypto)
|
35280
35280
|
globalThis.crypto = crypto2;
|
35281
35281
|
|
35282
35282
|
// src/wallet/base/wallet.ts
|
@@ -35501,6 +35501,15 @@ function __wbg_adapter_24(arg0, arg1, arg2) {
|
|
35501
35501
|
wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h47a829c6210a1ab1(arg0, arg1, addHeapObject(arg2));
|
35502
35502
|
}
|
35503
35503
|
__name(__wbg_adapter_24, "__wbg_adapter_24");
|
35504
|
+
function resolveDID(did, input_metadata) {
|
35505
|
+
const ptr0 = passStringToWasm0(did, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
35506
|
+
const len0 = WASM_VECTOR_LEN;
|
35507
|
+
const ptr1 = passStringToWasm0(input_metadata, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
35508
|
+
const len1 = WASM_VECTOR_LEN;
|
35509
|
+
const ret = wasm.resolveDID(ptr0, len0, ptr1, len1);
|
35510
|
+
return takeObject(ret);
|
35511
|
+
}
|
35512
|
+
__name(resolveDID, "resolveDID");
|
35504
35513
|
function passArray8ToWasm0(arg, malloc) {
|
35505
35514
|
const ptr = malloc(arg.length * 1);
|
35506
35515
|
getUint8Memory0().set(arg, ptr / 1);
|
@@ -36055,6 +36064,9 @@ var getDidKitPlugin = /* @__PURE__ */ __name((input) => __async(void 0, null, fu
|
|
36055
36064
|
}),
|
36056
36065
|
contextLoader: (_wallet, url) => __async(void 0, null, function* () {
|
36057
36066
|
return JSON.parse(yield contextLoader(url));
|
36067
|
+
}),
|
36068
|
+
resolveDid: (_wallet, did) => __async(void 0, null, function* () {
|
36069
|
+
return JSON.parse(yield resolveDID(did, "{}"));
|
36058
36070
|
})
|
36059
36071
|
}
|
36060
36072
|
};
|
@@ -39124,6 +39136,13 @@ var CredentialInfoValidator = mod.object({
|
|
39124
39136
|
issuee: ProfileValidator.optional(),
|
39125
39137
|
credentialSubject: CredentialSubjectValidator.optional()
|
39126
39138
|
});
|
39139
|
+
var StorageTypeValidator = mod.enum(["ceramic"]);
|
39140
|
+
var StorageTypeEnum = StorageTypeValidator.enum;
|
39141
|
+
var IDXCredentialValidator = mod.object({
|
39142
|
+
id: mod.string(),
|
39143
|
+
title: mod.string(),
|
39144
|
+
storageType: StorageTypeValidator.optional()
|
39145
|
+
});
|
39127
39146
|
|
39128
39147
|
// ../../node_modules/.pnpm/date-fns@2.28.0/node_modules/date-fns/esm/_lib/toInteger/index.js
|
39129
39148
|
function toInteger(dirtyNumber) {
|
@@ -40740,7 +40759,8 @@ var emptyWallet = /* @__PURE__ */ __name((..._0) => __async(void 0, [..._0], fun
|
|
40740
40759
|
return {
|
40741
40760
|
_wallet: wallet,
|
40742
40761
|
verifyCredential: verifyCredential2(wallet),
|
40743
|
-
verifyPresentation: wallet.pluginMethods.verifyPresentation
|
40762
|
+
verifyPresentation: wallet.pluginMethods.verifyPresentation,
|
40763
|
+
resolveDid: wallet.pluginMethods.resolveDid
|
40744
40764
|
};
|
40745
40765
|
}), "emptyWallet");
|
40746
40766
|
|
@@ -53434,6 +53454,18 @@ var CeramicClient = class {
|
|
53434
53454
|
};
|
53435
53455
|
__name(CeramicClient, "CeramicClient");
|
53436
53456
|
|
53457
|
+
// src/wallet/plugins/idx/types.ts
|
53458
|
+
var StorageTypeValidator2 = mod.enum(["ceramic"]);
|
53459
|
+
var StorageTypeEnum2 = StorageTypeValidator2.enum;
|
53460
|
+
var CredentialMetadataValidator = mod.object({ name: mod.string().optional(), image: mod.string().optional() }).catchall(mod.any());
|
53461
|
+
var IDXCredentialValidator2 = mod.object({
|
53462
|
+
id: mod.string(),
|
53463
|
+
title: mod.string(),
|
53464
|
+
storageType: StorageTypeValidator2.optional(),
|
53465
|
+
metadata: CredentialMetadataValidator.optional()
|
53466
|
+
}).strict();
|
53467
|
+
var CredentialsListValidator = mod.object({ credentials: IDXCredentialValidator2.array() }).strict();
|
53468
|
+
|
53437
53469
|
// src/wallet/plugins/idx/idx.ts
|
53438
53470
|
var getCeramicClientFromWalletSuite = /* @__PURE__ */ __name((wallet, ceramicEndpoint) => __async(void 0, null, function* () {
|
53439
53471
|
const client = new CeramicClient(ceramicEndpoint);
|
@@ -53451,9 +53483,17 @@ var getIDXPlugin = /* @__PURE__ */ __name((_0, _1) => __async(void 0, [_0, _1],
|
|
53451
53483
|
const loader = new TileLoader({ ceramic });
|
53452
53484
|
const dataStore = new DIDDataStore({ ceramic, model: modelData });
|
53453
53485
|
const getCredentialsListFromIdx = /* @__PURE__ */ __name((..._02) => __async(void 0, [..._02], function* (alias = credentialAlias) {
|
53454
|
-
|
53486
|
+
const list = yield dataStore.get(alias);
|
53487
|
+
if (!list)
|
53488
|
+
return { credentials: [] };
|
53489
|
+
const validationResult = yield CredentialsListValidator.spa(list);
|
53490
|
+
if (validationResult.success)
|
53491
|
+
return validationResult.data;
|
53492
|
+
console.error(validationResult.error);
|
53493
|
+
throw new Error("Invalid credentials list stored in IDX");
|
53455
53494
|
}), "getCredentialsListFromIdx");
|
53456
|
-
const addCredentialStreamIdToIdx = /* @__PURE__ */ __name((
|
53495
|
+
const addCredentialStreamIdToIdx = /* @__PURE__ */ __name((_record, alias) => __async(void 0, null, function* () {
|
53496
|
+
const record = IDXCredentialValidator2.parse(_record);
|
53457
53497
|
if (!record)
|
53458
53498
|
throw new Error("record is required");
|
53459
53499
|
if (!record.id)
|
@@ -53468,10 +53508,10 @@ var getIDXPlugin = /* @__PURE__ */ __name((_0, _1) => __async(void 0, [_0, _1],
|
|
53468
53508
|
});
|
53469
53509
|
if (indexOfExistingCredential > -1) {
|
53470
53510
|
existing.credentials[indexOfExistingCredential] = __spreadValues({
|
53471
|
-
storageType:
|
53511
|
+
storageType: StorageTypeEnum.ceramic
|
53472
53512
|
}, record);
|
53473
53513
|
} else
|
53474
|
-
existing.credentials.push(__spreadValues({ storageType:
|
53514
|
+
existing.credentials.push(__spreadValues({ storageType: StorageTypeEnum.ceramic }, record));
|
53475
53515
|
return dataStore.set(alias, existing);
|
53476
53516
|
}), "addCredentialStreamIdToIdx");
|
53477
53517
|
const removeCredentialFromIdx = /* @__PURE__ */ __name((title, alias) => __async(void 0, null, function* () {
|
@@ -53524,8 +53564,8 @@ var getIDXPlugin = /* @__PURE__ */ __name((_0, _1) => __async(void 0, [_0, _1],
|
|
53524
53564
|
return readContentFromCeramic(streamId);
|
53525
53565
|
})));
|
53526
53566
|
}),
|
53527
|
-
addVerifiableCredentialInIdx: (
|
53528
|
-
return addCredentialStreamIdToIdx(
|
53567
|
+
addVerifiableCredentialInIdx: (_wallet, idxCredential) => __async(void 0, null, function* () {
|
53568
|
+
return addCredentialStreamIdToIdx(idxCredential);
|
53529
53569
|
}),
|
53530
53570
|
removeVerifiableCredentialInIdx: (_wallet, title) => __async(void 0, null, function* () {
|
53531
53571
|
return removeCredentialFromIdx(title);
|
@@ -57051,6 +57091,7 @@ var walletFromKey = /* @__PURE__ */ __name((_0, ..._1) => __async(void 0, [_0, .
|
|
57051
57091
|
removeCredential: (title) => __async(void 0, null, function* () {
|
57052
57092
|
yield wallet.pluginMethods.removeVerifiableCredentialInIdx(title);
|
57053
57093
|
}),
|
57094
|
+
resolveDid: wallet.pluginMethods.resolveDid,
|
57054
57095
|
readFromCeramic: wallet.pluginMethods.readContentFromCeramic,
|
57055
57096
|
getTestVc: wallet.pluginMethods.getTestVc,
|
57056
57097
|
getTestVp: wallet.pluginMethods.getTestVp,
|