import { Address, IChain, IChainWatch, ITransaction, QueryTxFilter, replayBlockCallback, Transaction } from "../../types"; import Keyv from "keyv"; import { Logger } from "winston"; export default abstract class BaseWatch implements IChainWatch { readonly chain: IChain; protected watchAddress: Map; protected pushHistory: Map; protected cache: Keyv; protected logger: Logger; rpcLastBlockHeight: number; getErrorTxList: Set; set setRpcLastBlockHeight(height: number); abstract readonly minConfirmations: number; constructor(chain: IChain); isWatchWalletAddress(address: string): Promise; isWatchContractAddress(address: string): Promise; isWatchTokenAddress(address: string): Promise; isOrbiterXAddress(address: string): boolean; abstract getApiFilter(address: Address): Promise; init(): Promise; addWatchAddress(address: Array
| Address): this; protected pushMessage(address: Address, txList: Array | Array): Promise; protected pushBefore(address: Address, txList: Array): Promise<{ address: string; txList: Transaction[]; }>; protected pushAfter(address: Address, txList: Array): { address: string; txList: Transaction[]; }; apiWatchNewTransaction(_address: Address): Promise>; apiScanCursor(address: Address, trx?: Partial): Promise | null>; apiScan(): Promise; updateScanStatus(methodsName: string): void; abstract replayBlock(start: number, end: number, changeBlock?: replayBlockCallback): Promise<{ start: number; end: number; }>; rpcScan(): Promise<{ start: number; end: number; }>; }