forked from tornado-packages/tornado-core
70 lines
2.2 KiB
TypeScript
70 lines
2.2 KiB
TypeScript
|
import { RelayerClient, RelayerClientConstructor, RelayerError, RelayerInfo, RelayerStatus } from './relayerClient';
|
||
|
import { CachedRelayerInfo, MinimalEvents } from './events';
|
||
|
export declare const MAX_TOVARISH_EVENTS = 5000;
|
||
|
export interface EventsStatus {
|
||
|
events: number;
|
||
|
lastBlock: number;
|
||
|
}
|
||
|
export interface InstanceEventsStatus {
|
||
|
[index: string]: {
|
||
|
deposits: EventsStatus;
|
||
|
withdrawals: EventsStatus;
|
||
|
};
|
||
|
}
|
||
|
export interface CurrencyEventsStatus {
|
||
|
[index: string]: InstanceEventsStatus;
|
||
|
}
|
||
|
export interface TovarishEventsStatus {
|
||
|
governance?: EventsStatus;
|
||
|
registered?: {
|
||
|
lastBlock: number;
|
||
|
timestamp: number;
|
||
|
relayers: number;
|
||
|
};
|
||
|
echo: EventsStatus;
|
||
|
encrypted_notes: EventsStatus;
|
||
|
instances: CurrencyEventsStatus;
|
||
|
}
|
||
|
export interface TovarishSyncStatus {
|
||
|
events: boolean;
|
||
|
tokenPrice: boolean;
|
||
|
gasPrice: boolean;
|
||
|
}
|
||
|
export interface TovarishStatus extends RelayerStatus {
|
||
|
events: TovarishEventsStatus;
|
||
|
syncStatus: TovarishSyncStatus;
|
||
|
onSyncEvents: boolean;
|
||
|
}
|
||
|
export interface TovarishInfo extends RelayerInfo {
|
||
|
latestBlock: number;
|
||
|
version: string;
|
||
|
events: TovarishEventsStatus;
|
||
|
syncStatus: TovarishSyncStatus;
|
||
|
}
|
||
|
export interface TovarishEventsQuery {
|
||
|
type: string;
|
||
|
currency?: string;
|
||
|
amount?: string;
|
||
|
fromBlock: number;
|
||
|
recent?: boolean;
|
||
|
}
|
||
|
export interface BaseTovarishEvents<T> {
|
||
|
events: T[];
|
||
|
lastSyncBlock: number;
|
||
|
}
|
||
|
export declare class TovarishClient extends RelayerClient {
|
||
|
selectedRelayer?: TovarishInfo;
|
||
|
constructor({ netId, config, fetchDataOptions }: RelayerClientConstructor);
|
||
|
askRelayerStatus({ hostname, url, relayerAddress, }: {
|
||
|
hostname?: string;
|
||
|
url?: string;
|
||
|
relayerAddress?: string;
|
||
|
}): Promise<TovarishStatus>;
|
||
|
filterRelayer(relayer: CachedRelayerInfo): Promise<TovarishInfo | RelayerError | undefined>;
|
||
|
getValidRelayers(relayers: CachedRelayerInfo[]): Promise<{
|
||
|
validRelayers: TovarishInfo[];
|
||
|
invalidRelayers: RelayerError[];
|
||
|
}>;
|
||
|
getEvents<T extends MinimalEvents>({ type, currency, amount, fromBlock, recent, }: TovarishEventsQuery): Promise<BaseTovarishEvents<T>>;
|
||
|
}
|