import { Logger } from '@subsquid/logger'; import { CallOptions, RpcClient } from '@subsquid/rpc-client'; import { SplitRequest } from '@subsquid/util-internal-range'; import { Bytes, Bytes32 } from '../interfaces/base'; import { Block, DataRequest, GetBlock, Log } from './rpc-data'; export interface RpcValidationFlags { /** * Checks the logs list is non-empty if logsBloom is non-zero */ disableLogsBloomCheck?: boolean; /** * Checks the tx count matches the number tx receipts */ disableTxReceiptsNumberCheck?: boolean; /** * Checks if the are no traces for a non-empty block */ disableMissingTracesCheck?: boolean; /** * Checks the block hash matches the trace blockHash field */ disableTraceBlockHashCheck?: boolean; /** * Checks the block hash matches the tx receipt blockHash field */ disableTxReceiptBlockHashCheck?: boolean; } export declare class Rpc { readonly client: RpcClient; private log?; private validation; private genesisHeight; private priority; private props; constructor(client: RpcClient, log?: Logger | undefined, validation?: RpcValidationFlags, genesisHeight?: number, priority?: number, props?: RpcProps); withPriority(priority: number): Rpc; call(method: string, params?: any[], options?: CallOptions): Promise; batchCall(batch: { method: string; params?: any[]; }[], options?: CallOptions): Promise; getBlockByNumber(height: number, withTransactions: boolean): Promise; getBlockByHash(hash: Bytes, withTransactions: boolean): Promise; getBlockHash(height: number): Promise; getHeight(): Promise; getColdBlock(blockHash: Bytes32, req?: DataRequest, finalizedHeight?: number): Promise; getColdSplit(req: SplitRequest): Promise; private addColdRequestedData; private getColdBlockBatch; getHotSplit(req: SplitRequest & { finalizedHeight: number; }): Promise; private getBlockBatch; private addRequestedData; private addLogs; getLogs(from: number, to: number): Promise; private getLogsByReceipts; private addReceipts; private addReceiptsByBlock; private addReceiptsByTx; private addTraceTxReplays; private addTraceBlockTraces; private addDebugFrames; private addDebugStateDiffs; private matchDebugTrace; private addArbitrumOneTraces; private addTraces; } type GetReceiptsMethod = 'eth_getTransactionReceipt' | 'eth_getBlockReceipts' | 'alchemy_getTransactionReceipts'; declare class RpcProps { private client; private genesisHeight; private genesisHash?; private receiptsMethod?; constructor(client: RpcClient, genesisHeight?: number); getGenesisHash(): Promise; getReceiptsMethod(): Promise; } export {}; //# sourceMappingURL=rpc.d.ts.map