UNPKG

@holographxyz/cli

Version:
48 lines (47 loc) 1.43 kB
import { BigNumberish } from '@ethersproject/bignumber'; import { NetworkMonitor } from './network-monitor'; import { HealthCheck } from '../base-commands/healthcheck'; export interface OperatorJobDetails { pod: number; blockTimes: number; operator: string; startBlock: number; startTimestamp: BigNumberish; fallbackOperators: number[]; } export interface OperatorJob { network: string; hash: string; payload: string; targetTime: number; gasLimit: BigNumberish; gasPrice: BigNumberish; jobDetails: OperatorJobDetails; } export interface OperatorStatus { address: string; active: { [key: string]: boolean; }; currentPod: { [key: string]: number; }; podIndex: { [key: string]: number; }; podSize: { [key: string]: number; }; } export declare abstract class OperatorJobAwareCommand extends HealthCheck { networkMonitor: NetworkMonitor; operatorStatus: OperatorStatus; operatorJobs: { [key: string]: OperatorJob; }; getTargetTime(network: string, jobDetails: OperatorJobDetails): number; decodeOperatorJob(network: string, operatorJobHash: string, operatorJobPayload: string, tags: (string | number)[]): Promise<OperatorJob | undefined>; updateJobTimes(): void; updateOperatorStatus(network: string): Promise<void>; checkJobStatus(operatorJobHash: string): Promise<void>; }