import { Interface } from '@ethersproject/abi'; import { DeepReadonly } from 'ts-essentials'; import { Log, Logger } from '../../types'; import { StatefulEventSubscriber } from '../../stateful-event-subscriber'; import { IDexHelper } from '../../dex-helper/idex-helper'; import { PoolState, PoolParams } from './types'; export declare class FluidDexLiteEventPool extends StatefulEventSubscriber { readonly parentName: string; protected network: number; protected dexHelper: IDexHelper; protected fluidDexLiteIface: Interface; protected fluidDexLiteAddress: string; decoder: (log: Log) => import("@ethersproject/abi").LogDescription; private handlers; logDecoder: (log: Log) => any; addressesSubscribed: string[]; poolParams: PoolParams; constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, mapKey: string, fluidDexLiteIface: Interface | undefined, poolParams: PoolParams, fluidDexLiteAddress: string); /** * The function is called every time any of the subscribed * addresses release log. The function accepts the current * state, updates the state according to the log, and returns * the updated state. */ protected processLog(state: DeepReadonly, log: Readonly): DeepReadonly | null; /** * The function generates state using on-chain calls. */ generateState(blockNumber: number): Promise>; handleLogSwap(event: any, state: DeepReadonly): DeepReadonly; handleLogInitialize(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateFeeAndRevenueCut(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateRebalancingStatus(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateRangePercents(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateShiftTime(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateCenterPriceLimits(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateThresholdPercent(event: any, state: DeepReadonly): DeepReadonly; handleLogUpdateCenterPriceAddress(event: any, state: DeepReadonly): DeepReadonly; handleLogDeposit(event: any, state: DeepReadonly): DeepReadonly; handleLogWithdraw(event: any, state: DeepReadonly): DeepReadonly; private isCurrentDexId; }