import { Address } from 'viem'; import { SplitsPublicClient } from '../types'; import { splitV2FactoryABI } from '../constants/abi/splitV2Factory'; import { splitMainPolygonAbi, splitV2ABI } from '../constants/abi'; import { SplitV2Versions } from '../subgraph/types'; /** * Retries a function n number of times with exponential backoff before giving up */ export declare function retryExponentialBackoff any>(fn: T, args: Parameters, maxTry: number, retryCount?: number): Promise>; export declare const isLogsPublicClient: (publicClient: SplitsPublicClient) => boolean; export declare const isAlchemyPublicClient: (arg0: SplitsPublicClient) => boolean; export declare const isInfuraPublicClient: (arg0: SplitsPublicClient) => boolean; export declare const getLargestValidBlockRange: ({ maxBlockRange, publicClient, }: { maxBlockRange?: bigint | undefined; publicClient: SplitsPublicClient; }) => Promise; type SplitCreatedEventType = (typeof splitV2FactoryABI)[8] | (typeof splitMainPolygonAbi)[14]; type SplitUpdatedEventType = (typeof splitV2ABI)[28] | (typeof splitMainPolygonAbi)[18]; export declare const getSplitCreateAndUpdateLogs: = import("viem").Log, SplitUpdatedLogType extends import("viem").Log = import("viem").Log>({ splitAddress, publicClient, splitCreatedEvent, splitUpdatedEvent, addresses, startBlockNumber, defaultBlockRange, currentUpdateLog, currentEndBlockNumber, maxBlockRange, cachedBlocks, splitV2Version, }: { splitAddress: Address; publicClient: SplitsPublicClient; splitCreatedEvent: SplitCreatedEventType; splitUpdatedEvent: SplitUpdatedEventType; addresses: Address[]; startBlockNumber: bigint; defaultBlockRange?: bigint | undefined; currentUpdateLog?: SplitUpdatedLogType | undefined; currentEndBlockNumber?: bigint | undefined; maxBlockRange?: bigint | undefined; cachedBlocks?: { createBlock?: bigint | undefined; updateBlock?: bigint | undefined; latestScannedBlock: bigint; } | undefined; splitV2Version?: SplitV2Versions | undefined; }) => Promise<{ blockRange: bigint; createLog?: SplitCreatedLogType | undefined; updateLog?: SplitUpdatedLogType | undefined; }>; export declare const LOGS_SEARCH_BATCH_SIZE = 10; export declare const searchLogs: , SplitUpdatedLogType extends import("viem").Log>({ formattedSplitAddress, publicClient, addresses, splitCreatedEvent, splitUpdatedEvent, startBlock, endBlock, defaultBlockRange, maxBlockRange, currentUpdateLog, cachedBlocks, splitV2Version, }: { formattedSplitAddress: Address; publicClient: SplitsPublicClient; splitCreatedEvent: SplitCreatedEventType; splitUpdatedEvent: SplitUpdatedEventType; addresses: Address[]; startBlock: bigint; endBlock: bigint; defaultBlockRange?: bigint | undefined; currentUpdateLog?: SplitUpdatedLogType | undefined; maxBlockRange?: bigint | undefined; cachedBlocks?: { createBlock: bigint; updateBlock?: bigint | undefined; latestScannedBlock: bigint; } | undefined; splitV2Version?: SplitV2Versions | undefined; }) => Promise<{ blockRange: bigint; createLog?: SplitCreatedLogType | undefined; updateLog?: SplitUpdatedLogType | undefined; }>; export {};