UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

57 lines (56 loc) 1.56 kB
export interface ValidatorStats { lastBlockValidated: number; lastBlockValidatedTime: Date; lastAvailability: number; } export interface GetBlockOptions { 'filter[to]'?: number; 'filter[from]'?: number; sort?: string; 'page[cursor]'?: number; 'page[limit]'?: number; 'filter[signer]'?: string; 'filter[inturnsigner]'?: string; 'filter[anysigner]'?: string; 'filter[outofturn]'?: boolean; } export interface BlockInfo { id: string; type: string; attributes: { hash: string; parent_hash: string; miner: string; timestamp: number; inturn_signer: string; difficulty: number; }; } export interface GetMetricOptions { 'filter[cycles]'?: number; 'filter[signer]'?: string; 'filter[mainaccount]'?: string; 'page[cursor]'?: string; 'page[limit]'?: number; sort?: string; } export interface ValidatorMetric { address: string; dueBlocks: number; inTurnBlocks: number; outOfTurnBlocks: number; inTurnAvailability: number; totalAvailability: number; } export declare class Indexer { protected baseURL: string; private _axios; constructor(baseURL: string); getValidatorStats(signers?: string[], options?: GetBlockOptions): Promise<ValidatorStats[]>; getInactiveValidators(signers: string[]): Promise<number>; getValidatorMetrics(cycles: number): Promise<ValidatorMetric[]>; private getBlocks; private getMetrics; private countValidatorStats; private countValidatorMetric; }