@learncard/core 1.4.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
package/dist/core.d.ts CHANGED
@@ -4614,6 +4614,16 @@ export declare type DidKeyPluginMethods<DidMethod extends string> = {
4614
4614
  };
4615
4615
  getKey: () => string;
4616
4616
  };
4617
+ export declare type EthereumPluginMethods = {
4618
+ checkMyEth: () => Promise<string>;
4619
+ checkMyDai: () => Promise<string>;
4620
+ checkMyUsdc: () => Promise<string>;
4621
+ };
4622
+ export declare type EthereumConfig = {
4623
+ address: string;
4624
+ infuraProjectId?: string;
4625
+ network?: providers.Networkish;
4626
+ };
4617
4627
  export declare type IDXPluginMethods = {
4618
4628
  getCredentialsListFromIndex: (alias?: string) => Promise<CredentialsList>;
4619
4629
  publishContentToCeramic: (cred: any) => Promise<string>;
@@ -4653,31 +4663,20 @@ export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembl
4653
4663
  export declare type Plugin<Name extends string, PublicMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = {
4654
4664
  name?: Name;
4655
4665
  pluginMethods: {
4656
- [Key in keyof PublicMethods]: <T extends UnlockedWallet<any, PublicMethods>>(wallet: T, ...args: Parameters<PublicMethods[Key]>) => ReturnType<PublicMethods[Key]>;
4666
+ [Key in keyof PublicMethods]: <T extends Wallet<any, PublicMethods>>(wallet: T, ...args: Parameters<PublicMethods[Key]>) => ReturnType<PublicMethods[Key]>;
4657
4667
  };
4658
4668
  };
4659
4669
  export declare type PublicFieldsObj<PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = {
4660
4670
  pluginMethods: PluginMethods;
4661
4671
  };
4662
- declare enum WalletStatus {
4663
- Locked = "LOCKED",
4664
- Unlocked = "UNLOCKED"
4665
- }
4666
- export declare type BaseWallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = PublicFieldsObj<PluginMethods> & {
4672
+ export declare type Wallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = PublicFieldsObj<PluginMethods> & {
4667
4673
  contents: any[];
4668
4674
  plugins: Plugin<PluginNames, Record<string, (...args: any[]) => any>>[];
4675
+ add: (content: any) => Promise<Wallet<PluginNames, PluginMethods>>;
4676
+ remove: (contentId: string) => Promise<Wallet<PluginNames, PluginMethods>>;
4677
+ 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>>;
4669
4678
  };
4670
- export declare type LockedWallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = BaseWallet<PluginNames, PluginMethods> & {
4671
- status: WalletStatus.Locked;
4672
- };
4673
- export declare type UnlockedWallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = BaseWallet<PluginNames, PluginMethods> & {
4674
- status: WalletStatus.Unlocked;
4675
- add: (content: any) => Promise<UnlockedWallet<PluginNames, PluginMethods>>;
4676
- remove: (contentId: string) => Promise<UnlockedWallet<PluginNames, PluginMethods>>;
4677
- 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>>;
4678
- };
4679
- export declare type Wallet<PluginNames extends string = "", PluginMethods extends Record<string, (...args: any[]) => any> = Record<never, never>> = LockedWallet<PluginNames, PluginMethods> | UnlockedWallet<PluginNames, PluginMethods>;
4680
- export declare type LearnCardRawWallet = UnlockedWallet<"DIDKit" | "DID Key" | "VC" | "IDX" | "Expiration", DidKeyPluginMethods<DidMethod> & VCPluginMethods & IDXPluginMethods>;
4679
+ export declare type LearnCardRawWallet = Wallet<"DIDKit" | "DID Key" | "VC" | "IDX" | "Expiration" | "Ethereum", DidKeyPluginMethods<DidMethod> & VCPluginMethods & IDXPluginMethods & EthereumPluginMethods>;
4681
4680
  export declare type LearnCardWallet = {
4682
4681
  /** Raw IoE wallet instance. You shouldn't need to drop down to this level! */
4683
4682
  _wallet: LearnCardRawWallet;
@@ -4740,6 +4739,18 @@ export declare type LearnCardWallet = {
4740
4739
  * You can use this to test out implementations that use this library!
4741
4740
  */
4742
4741
  getTestVc: (subject?: string) => UnsignedVC;
4742
+ /**
4743
+ * Returns your ETH balance
4744
+ */
4745
+ checkMyEth: () => Promise<string>;
4746
+ /**
4747
+ * Returns your DAI balance
4748
+ */
4749
+ checkMyDai: () => Promise<string>;
4750
+ /**
4751
+ * Returns your USDC balance
4752
+ */
4753
+ checkMyUsdc: () => Promise<string>;
4743
4754
  };
4744
4755
  export declare type CeramicIDXArgs = {
4745
4756
  modelData: ModelAliases;
@@ -4751,10 +4762,11 @@ export declare type LearnCardConfig = {
4751
4762
  ceramicIdx: CeramicIDXArgs;
4752
4763
  didkit: InitInput | Promise<InitInput>;
4753
4764
  defaultContents: any[];
4765
+ ethereumConfig: EthereumConfig;
4754
4766
  };
4755
4767
  /** Generates a LearnCard Wallet from a 64 character seed string */
4756
- export declare const walletFromKey: (key: string, { ceramicIdx, didkit, defaultContents, }?: Partial<LearnCardConfig>) => Promise<LearnCardWallet>;
4768
+ export declare const walletFromKey: (key: string, { ceramicIdx, didkit, defaultContents, ethereumConfig, }?: Partial<LearnCardConfig>) => Promise<LearnCardWallet>;
4757
4769
  export { walletFromKey } from "@wallet/init";
4758
- export { Wallet, UnlockedWallet, LockedWallet, Plugin } from "types/wallet";
4770
+ export { Wallet, Plugin } from "types/wallet";
4759
4771
 
4760
4772
  export {};