@holographxyz/cli
Version:
Holograph operator CLI
48 lines (47 loc) • 1.43 kB
TypeScript
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>;
}