@holographxyz/cli
Version:
Holograph operator CLI
75 lines (74 loc) • 5.14 kB
TypeScript
import { TransactionResponse } from '@ethersproject/abstract-provider';
import { Environment } from '@holographxyz/environment';
import { DeploymentConfig } from '../../utils/contract-deployment';
import { BridgeInErc20Args, BridgeInErc721Args, BridgeOutErc20Args, BridgeOutErc721Args } from '../../utils/bridge';
import { BlockJob, NetworkMonitor } from '../../utils/network-monitor';
import { HealthCheck } from '../../base-commands/healthcheck';
declare type DBJob = {
attempts: number;
timestamp: number;
network: string;
query: string;
message: string;
callback: (...args: any[]) => Promise<void>;
arguments: any[];
tags: (string | number)[];
};
declare type DBJobMap = {
[key: number]: DBJob[];
};
declare type PatchOptions = {
responseData: any;
network: string;
query: string;
data: any;
messages: string[];
};
export default class Indexer extends HealthCheck {
static hidden: boolean;
static LAST_BLOCKS_FILE_NAME: string;
static description: string;
static examples: string[];
static flags: {
healthCheck: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
healthCheckPort: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
warp: import("@oclif/core/lib/interfaces").OptionFlag<number>;
networks: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined>;
host: import("@oclif/core/lib/interfaces").OptionFlag<string>;
};
BASE_URL: string;
JWT: string;
DELAY: number;
apiColor: import("chalk").Chalk;
errorColor: import("chalk").Chalk;
networkMonitor: NetworkMonitor;
dbJobMap: DBJobMap;
environment: Environment;
numericSort(a: number, b: number): number;
numberfy(arr: string[]): number[];
/**
* Command Entry Point
*/
run(): Promise<void>;
filterBuilder(): Promise<void>;
processDBJob(timestamp: number, job: DBJob): Promise<void>;
processDBJobs(timestamp?: number, job?: DBJob): void;
processTransactions(job: BlockJob, transactions: TransactionResponse[]): Promise<void>;
handleContractDeployedEvent(transaction: TransactionResponse, network: string, tags: (string | number)[]): Promise<void>;
handleMintEvent(transaction: TransactionResponse, network: string, tags: (string | number)[]): Promise<void>;
handleBridgeInEvent(transaction: TransactionResponse, network: string, tags: (string | number)[]): Promise<void>;
handleBridgeOutEvent(transaction: TransactionResponse, network: string, tags: (string | number)[]): Promise<void>;
handleAvailableOperatorJobEvent(transaction: TransactionResponse, network: string, tags: (string | number)[]): Promise<void>;
updateContractCallback(responseData: any, transaction: TransactionResponse, network: string, contractAddress: string, deploymentConfig: DeploymentConfig, tags: (string | number)[]): Promise<void>;
updateDeployedContract(transaction: TransactionResponse, network: string, contractAddress: string, deploymentEvent: string[], deploymentConfig: DeploymentConfig, tags: (string | number)[]): Promise<void>;
updateBridgedContract(direction: string, transaction: TransactionResponse, network: string, fromNetwork: string, contractAddress: string, deploymentEvent: string[], deploymentConfig: DeploymentConfig, operatorJobHash: string, tags: (string | number)[]): Promise<void>;
updateBridgedERC20(direction: string, transaction: TransactionResponse, network: string, fromNetwork: string, contractAddress: string, erc20TransferEvent: any[], erc20BeamInfo: BridgeInErc20Args | BridgeOutErc20Args, operatorJobHash: string, tags: (string | number)[]): Promise<void>;
updateERC721Callback(responseData: any, transaction: TransactionResponse, network: string, contractAddress: string, tokenId: string, tags: (string | number)[]): Promise<void>;
updateBridgedERC721(direction: string, transaction: TransactionResponse, network: string, fromNetwork: string, toNetwork: string, contractType: string, contractAddress: string, erc721TransferEvent: any[], erc721BeamInfo: BridgeInErc721Args | BridgeOutErc721Args, operatorJobHash: string, tags: (string | number)[]): Promise<void>;
updateMintedERC721(transaction: TransactionResponse, network: string, contractType: string, contractAddress: string, erc721TransferEvent: any[], tags: (string | number)[]): Promise<void>;
updateCrossChainTransactionCallback(responseData: any, transaction: TransactionResponse, network: string, fromNetwork: string, toNetwork: string, contractAddress: string, tokenId: string, crossChainTxType: string, jobHash: string, tags: (string | number)[]): Promise<void>;
updateCrossChainTransaction(crossChainTxType: string, network: string, transaction: TransactionResponse, fromNetwork: string, toNetwork: string, contractAddress: string, contractType: string, tokenId: string, operatorJobHash: string, tags: (string | number)[]): Promise<void>;
sendPatchRequest(options: PatchOptions, tags: (string | number)[]): Promise<void>;
getBlockTimestamp(network: string, blockNumber: number): Promise<number>;
}
export {};