UNPKG

@parity/light.js

Version:

A high-level reactive JS library optimized for light clients

69 lines (68 loc) 1.79 kB
import BigNumber from 'bignumber.js'; import { Observable, OperatorFunction, ReplaySubject } from 'rxjs'; import frequency from './frequency'; import rpc from './rpc'; declare global { interface Window { parity: any; } } export declare type AccountsInfo = { name: string; }; export declare type Address = string; export declare type ApiValue = any; export declare type Block = { number: BigNumber; }; export interface Metadata<Source, Out> { calledWithArgs?: { [key: string]: ReplaySubject<Out>; }; calls?: string[]; dependsOn?: RpcObservable<any, Source>; frequency?: FrequencyObservable<Source>[]; name?: string; pipes?: (...args: any[]) => OperatorFunction<Source, Out>[]; } export declare type FrequencyKey = keyof typeof frequency; export interface FrequencyObservableOptions { provider?: any; } export interface FrequencyObservable<T> { (options?: FrequencyObservableOptions): Observable<T>; } export declare type FrequencyMap = { [index in FrequencyKey]: FrequencyObservable<any>; }; export interface MakeContract { abi: any; address: string; readonly contractObject: any; [index: string]: any | string | ((...args: any[]) => any); } export declare type RpcKey = keyof typeof rpc; export interface RpcObservable<Source, Out> { (...args: any[]): Observable<Out>; metadata?: Metadata<Source, Out>; setFrequency?(frequency: FrequencyObservable<Source>[]): void; } export declare type RpcMap = { [index in RpcKey]: RpcObservable<any, any>; }; export interface RpcObservableOptions { provider?: any; } export declare type Tx = { from: Address; condition: any; to: Address; }; export interface TxStatus { confirmed?: any; estimating?: boolean; estimated?: BigNumber; failed?: Error; signed?: string; sent?: string; }