evm-blockchain-tools
Version:
This is a collection of resuseable tools to support development for EVM-powered blockchains
27 lines (26 loc) • 1.29 kB
TypeScript
import { CryptoWalletConfig, CryptoWalletEngine, GenerateKeyPairResponse, RecoverPrivateKeyData } from "../../common/interfaces";
export type EvmCryptoWalletData = {
address: string;
nonce: string;
serverSecretPart: string;
userSecretPart: string;
recoverySecretPart: string;
};
export declare class EvmCryptoWallet implements CryptoWalletEngine {
protected config: CryptoWalletConfig;
private isInitialized;
private serverPrivateKey;
constructor(config: CryptoWalletConfig);
protected validateServerKey(serverKeyHex: string): Promise<void>;
private init;
private tryDec;
protected buildUserPrivate(userPin?: string): string;
protected buildServerPrivate(): string;
protected buildRecoveryPrivate(userPin?: string): string;
importWallet(privateKey: any, userPin?: string): Promise<EvmCryptoWalletData>;
createWallet(userPin?: string): Promise<EvmCryptoWalletData>;
protected processGeneratedKey(userPin: string, privateKey: string, publicKey: string): EvmCryptoWalletData;
protected generateKeyPair(): Promise<GenerateKeyPairResponse>;
protected splitPrivateKeyToParts(pkBytes: Uint8Array, nonce: Uint8Array): [string, string, string];
recoverPrivateKey(data: RecoverPrivateKeyData): Promise<string>;
}