@learncard/core 1.5.1 → 3.0.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.d.ts CHANGED
@@ -4625,12 +4625,13 @@ export declare type EthereumConfig = {
4625
4625
  network?: providers.Networkish;
4626
4626
  };
4627
4627
  export declare type IDXPluginMethods = {
4628
- getCredentialsListFromIndex: (alias?: string) => Promise<CredentialsList>;
4628
+ getCredentialsListFromIdx: (alias?: string) => Promise<CredentialsList>;
4629
4629
  publishContentToCeramic: (cred: any) => Promise<string>;
4630
4630
  readContentFromCeramic: (streamId: string) => Promise<any>;
4631
- getVerifiableCredentialFromIndex: (title: string) => Promise<any>;
4632
- getVerifiableCredentialsFromIndex: () => Promise<any>;
4631
+ getVerifiableCredentialFromIdx: (title: string) => Promise<VC>;
4632
+ getVerifiableCredentialsFromIdx: () => Promise<VC[]>;
4633
4633
  addVerifiableCredentialInIdx: (cred: IDXCredential) => Promise<StreamID>;
4634
+ removeVerifiableCredentialInIdx: (title: string) => Promise<StreamID>;
4634
4635
  };
4635
4636
  declare enum StorageType {
4636
4637
  ceramic = "ceramic"
@@ -4655,39 +4656,29 @@ export declare type DependentMethods = {
4655
4656
  export declare type VCPluginMethods = DependentMethods & {
4656
4657
  issueCredential: (credential: UnsignedVC) => Promise<VC>;
4657
4658
  verifyCredential: (credential: VC) => Promise<VerificationCheck>;
4658
- issuePresentation: (credential: VC) => Promise<VP>;
4659
+ issuePresentation: (credential: UnsignedVP) => Promise<VP>;
4659
4660
  verifyPresentation: (presentation: VP) => Promise<VerificationCheck>;
4660
4661
  getTestVc: (subject?: string) => UnsignedVC;
4662
+ getTestVp: (credential?: VC) => Promise<UnsignedVP>;
4661
4663
  };
4662
4664
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
4663
4665
  export declare type Plugin<Name extends string, PublicMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = {
4664
4666
  name?: Name;
4665
4667
  pluginMethods: {
4666
- [Key in keyof PublicMethods]: <T extends UnlockedWallet<any, PublicMethods>>(wallet: T, ...args: Parameters<PublicMethods[Key]>) => ReturnType<PublicMethods[Key]>;
4668
+ [Key in keyof PublicMethods]: <T extends Wallet<any, PublicMethods>>(wallet: T, ...args: Parameters<PublicMethods[Key]>) => ReturnType<PublicMethods[Key]>;
4667
4669
  };
4668
4670
  };
4669
4671
  export declare type PublicFieldsObj<PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = {
4670
4672
  pluginMethods: PluginMethods;
4671
4673
  };
4672
- declare enum WalletStatus {
4673
- Locked = "LOCKED",
4674
- Unlocked = "UNLOCKED"
4675
- }
4676
- export declare type BaseWallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = PublicFieldsObj<PluginMethods> & {
4674
+ export declare type Wallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = PublicFieldsObj<PluginMethods> & {
4677
4675
  contents: any[];
4678
4676
  plugins: Plugin<PluginNames, Record<string, (...args: any[]) => any>>[];
4677
+ add: (content: any) => Promise<Wallet<PluginNames, PluginMethods>>;
4678
+ remove: (contentId: string) => Promise<Wallet<PluginNames, PluginMethods>>;
4679
+ addPlugin: <Name extends string, Methods extends Record<string, (...args: any[]) => any> = Record<never, never>>(plugin: Plugin<Name, Methods>) => Promise<Wallet<"" extends PluginNames ? Name : PluginNames | Name, Record<never, never> extends PluginMethods ? Methods : PluginMethods & Methods>>;
4679
4680
  };
4680
- export declare type LockedWallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = BaseWallet<PluginNames, PluginMethods> & {
4681
- status: WalletStatus.Locked;
4682
- };
4683
- export declare type UnlockedWallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = BaseWallet<PluginNames, PluginMethods> & {
4684
- status: WalletStatus.Unlocked;
4685
- add: (content: any) => Promise<UnlockedWallet<PluginNames, PluginMethods>>;
4686
- remove: (contentId: string) => Promise<UnlockedWallet<PluginNames, PluginMethods>>;
4687
- addPlugin: <Name extends string, Methods extends Record<string, (...args: any[]) => any> = Record<never, never>>(plugin: Plugin<Name, Methods>) => Promise<UnlockedWallet<"" extends PluginNames ? Name : PluginNames | Name, Record<never, never> extends PluginMethods ? Methods : PluginMethods & Methods>>;
4688
- };
4689
- export declare type Wallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = LockedWallet<PluginNames, PluginMethods> | UnlockedWallet<PluginNames, PluginMethods>;
4690
- export declare type LearnCardRawWallet = UnlockedWallet<"DIDKit" | "DID Key" | "VC" | "IDX" | "Expiration" | "Ethereum", DidKeyPluginMethods<DidMethod> & VCPluginMethods & IDXPluginMethods & EthereumPluginMethods>;
4681
+ export declare type LearnCardRawWallet = Wallet<"DIDKit" | "DID Key" | "VC" | "IDX" | "Expiration" | "Ethereum", DidKeyPluginMethods<DidMethod> & VCPluginMethods & IDXPluginMethods & EthereumPluginMethods>;
4691
4682
  export declare type LearnCardWallet = {
4692
4683
  /** Raw IoE wallet instance. You shouldn't need to drop down to this level! */
4693
4684
  _wallet: LearnCardRawWallet;
@@ -4710,7 +4701,7 @@ export declare type LearnCardWallet = {
4710
4701
  */
4711
4702
  verifyCredential: (credential: VC) => Promise<VerificationItem[]>;
4712
4703
  /** Creates a signed Verifiable Presentation from a signed Verifiable Credential */
4713
- issuePresentation: (credential: VC) => Promise<VP>;
4704
+ issuePresentation: (presentation: UnsignedVP) => Promise<VP>;
4714
4705
  /**
4715
4706
  * Verifies a signed Verifiable Presentation
4716
4707
  *
@@ -4718,9 +4709,11 @@ export declare type LearnCardWallet = {
4718
4709
  */
4719
4710
  verifyPresentation: (presentation: VP) => Promise<VerificationCheck>;
4720
4711
  /** Returns the credential marked with `title` from IDX */
4721
- getCredential: (title: string) => Promise<any>;
4712
+ getCredential: (title: string) => Promise<VC>;
4713
+ /** Returns all credentials from IDX */
4714
+ getCredentials: () => Promise<VC[]>;
4722
4715
  /** Returns all credentials from IDX */
4723
- getCredentials: () => Promise<any[]>;
4716
+ getCredentialsList: () => Promise<IDXCredential[]>;
4724
4717
  /**
4725
4718
  * Publishes a credential to Ceramic, returning the credential's stream ID
4726
4719
  *
@@ -4728,7 +4721,7 @@ export declare type LearnCardWallet = {
4728
4721
  *
4729
4722
  * Resolving a stream ID can be done by passing the stream ID to `readFromCeramic`
4730
4723
  */
4731
- publishCredential: (credential: any) => Promise<string>;
4724
+ publishCredential: (credential: VC) => Promise<string>;
4732
4725
  /**
4733
4726
  * Adds a stream ID pointing to a credential (such as the one returned by `publishCredential`)
4734
4727
  * to IDX with a bespoke title
@@ -4737,6 +4730,14 @@ export declare type LearnCardWallet = {
4737
4730
  * or by using `getCredentials` to get a list of all credentials that have been added to IDX
4738
4731
  */
4739
4732
  addCredential: (credential: IDXCredential) => Promise<void>;
4733
+ /**
4734
+ * Adds a stream ID pointing to a credential (such as the one returned by `publishCredential`)
4735
+ * to IDX with a bespoke title
4736
+ *
4737
+ * The credential may then be retrieved using `getCredential` and passing in that bespoke title,
4738
+ * or by using `getCredentials` to get a list of all credentials that have been added to IDX
4739
+ */
4740
+ removeCredential: (title: string) => Promise<void>;
4740
4741
  /**
4741
4742
  * Resolves a stream ID, returning its contents
4742
4743
  *
@@ -4750,6 +4751,13 @@ export declare type LearnCardWallet = {
4750
4751
  * You can use this to test out implementations that use this library!
4751
4752
  */
4752
4753
  getTestVc: (subject?: string) => UnsignedVC;
4754
+ /**
4755
+ * Wraps a crednetial in an exmaple presentaion. If no credential is provided, a new one will be
4756
+ * generated using getTestVc
4757
+ *
4758
+ * You can use this to test out implementations that use this library!
4759
+ */
4760
+ getTestVp: (credential?: VC) => Promise<UnsignedVP>;
4753
4761
  /**
4754
4762
  * Returns your ETH balance
4755
4763
  */
@@ -4778,6 +4786,6 @@ export declare type LearnCardConfig = {
4778
4786
  /** Generates a LearnCard Wallet from a 64 character seed string */
4779
4787
  export declare const walletFromKey: (key: string, { ceramicIdx, didkit, defaultContents, ethereumConfig, }?: Partial<LearnCardConfig>) => Promise<LearnCardWallet>;
4780
4788
  export { walletFromKey } from "@wallet/init";
4781
- export { Wallet, UnlockedWallet, LockedWallet, Plugin } from "types/wallet";
4789
+ export { Wallet, Plugin } from "types/wallet";
4782
4790
 
4783
4791
  export {};