UNPKG

mcps-sdk-js

Version:

MCPS JavaScript SDK

53 lines (52 loc) 1.73 kB
import * as types from './types'; /** * Key DAO Interface, to be implemented by apps if they need the key management. */ export interface KeyDAO { /** * Save the encrypted private key to app * * @param name Name of the key * @param key The encrypted private key object * @throws `SdkError` if the save fails. */ write(name: string, key: types.Key): void; /** * Get the encrypted private key by name * * @param name Name of the key * @returns The encrypted private key object or undefined */ read(name: string): types.Key; /** * Delete the key by name * @param name Name of the key * @throws `SdkError` if the deletion fails. */ delete(name: string): void; /** * Optional function to encrypt the private key by yourself. Default to AES Encryption * @param privKey The plain private key * @param password The password to encrypt the private key * @returns The encrypted private key * @throws `SdkError` if encrypt failed */ encrypt?(privKey: string, password: string): string; /** * Optional function to decrypt the private key by yourself. Default to AES Decryption * @param encrptedPrivKey The encrpted private key * @param password The password to decrypt the private key * @returns The plain private key * @throws `SdkError` if decrypt failed */ decrypt?(encrptedPrivKey: string, password: string): string; } /** Cache KeyDAO */ export declare class CacheKeyDAO implements KeyDAO { keyMap: { [key: string]: types.Key; }; write(name: string, key: types.Key): void; read(name: string): types.Key; delete(name: string): void; }