UNPKG

zumokit

Version:

ZumoKit is a Wallet as a Service SDK

53 lines (46 loc) 1.29 kB
import { ZumoKitError } from './ZumoKitError'; import { CurrencyCode, Network } from './interfaces'; declare global { interface Window { ZumoCoreModule: any; } } /** * Crypto utility interface describes methods for mnemonic phrase generation and * Bitcoin/Ethereum address validation. */ export class Utils { /** @internal */ zumoCoreModule: any; /** @internal */ utilsImpl: any; /** @internal */ constructor(zumoCoreModule: any, utilsImpl: any) { this.zumoCoreModule = zumoCoreModule; this.utilsImpl = utilsImpl; } /** * Generates mnemonic seed phrase used in wallet creation process. * @param wordCount 12, 15, 18, 21 or 24 */ generateMnemonic(wordCount: number): string { try { return this.utilsImpl.generateMnemonic(wordCount); } catch (exception) { throw new ZumoKitError(this.zumoCoreModule.getException(exception)); } } /** * Validates Ethereum, Bitcoin or Bitcoin SV address. * @param currencyCode 'ETH', 'BTC or 'BSV' * @param address blockchain address * @param network network type */ isValidAddress( currencyCode: CurrencyCode, address: string, network: Network ): boolean { return this.utilsImpl.isValidAddress(currencyCode, address, network); } }