UNPKG

nano-wallet-js

Version:

SDK for developers to create and interact with Nanocurrency wallet easily

63 lines (62 loc) 1.73 kB
import NanoRPC, { NanoRpcConfig } from '../rpc/RpcController'; import BaseController from '../BaseController'; import Logger from '../logger/Logger'; import Locker from './Locker'; export interface NanoWalletConfig extends NanoRpcConfig { privateKey: string; representative: string; minAmountRaw?: string; precomputeWork?: boolean; } export interface ReceivableBlock { blockHash: string; amount: string; } interface Work { hash: string; threshold: string; work: string; } export interface NanoWalletState { balance: string; receivable: string; receivableBlocks: ReceivableBlock[]; frontier: string | null; representative: string | null; work: Work | null; } export default class NanoWallet extends BaseController<NanoWalletConfig, NanoWalletState> { rpc: NanoRPC; publicKey: string; account: string; defaultConfig: NanoWalletConfig; defaultState: NanoWalletState; logger: Logger; locker: Locker; constructor(config: NanoWalletConfig, state?: NanoWalletState | null); sync(): Promise<void>; private workGenerate; private getWork; getReceivable(): Promise<{ receivableBlocks: ReceivableBlock[]; receivable: string; }>; receive(link: string): Promise<{ hash: string; }>; send(to: string, amount: string): Promise<{ hash: string; }>; sweep(to: string): Promise<{ hash: string; }>; setRepresentative(account?: string): Promise<{ hash: string; }>; get balance(): string; get receivable(): string; get receivableBlocks(): ReceivableBlock[]; get frontier(): string | null; get currentRepresentative(): string | null; } export {};