@parity/light.js
Version:
A high-level reactive JS library optimized for light clients
69 lines (68 loc) • 1.79 kB
TypeScript
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;
}