/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener, } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod, } from "./common"; export declare namespace OpenMulticall { export type Slot0Struct = { sqrtPriceX96: BigNumberish; tick: BigNumberish }; export type Slot0StructOutput = [sqrtPriceX96: bigint, tick: bigint] & { sqrtPriceX96: bigint; tick: bigint; }; export type TickDataStruct = { tick: BigNumberish; liquidityNet: BigNumberish; }; export type TickDataStructOutput = [tick: bigint, liquidityNet: bigint] & { tick: bigint; liquidityNet: bigint; }; export type CallStruct = { target: AddressLike; callData: BytesLike }; export type CallStructOutput = [target: string, callData: string] & { target: string; callData: string; }; export type ResultStruct = { success: boolean; gasUsed: BigNumberish; returnData: BytesLike; }; export type ResultStructOutput = [ success: boolean, gasUsed: bigint, returnData: string ] & { success: boolean; gasUsed: bigint; returnData: string }; } export interface OpenMulticallInterface extends Interface { getFunction( nameOrSignature: | "createBlock" | "getBalance" | "getGasLeft" | "getV3PoolData" | "tryAggregate" ): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Create"): EventFragment; encodeFunctionData( functionFragment: "createBlock", values?: undefined ): string; encodeFunctionData( functionFragment: "getBalance", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "getGasLeft", values?: undefined ): string; encodeFunctionData( functionFragment: "getV3PoolData", values: [AddressLike, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "tryAggregate", values: [boolean, BigNumberish, OpenMulticall.CallStruct[]] ): string; decodeFunctionResult( functionFragment: "createBlock", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "getBalance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGasLeft", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getV3PoolData", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "tryAggregate", data: BytesLike ): Result; } export namespace CreateEvent { export type InputTuple = []; export type OutputTuple = []; export interface OutputObject {} export type Event = TypedContractEvent; export type Filter = TypedDeferredTopicFilter; export type Log = TypedEventLog; export type LogDescription = TypedLogDescription; } export interface OpenMulticall extends BaseContract { connect(runner?: ContractRunner | null): OpenMulticall; waitForDeployment(): Promise; interface: OpenMulticallInterface; queryFilter( event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise>>; queryFilter( filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise>>; on( event: TCEvent, listener: TypedListener ): Promise; on( filter: TypedDeferredTopicFilter, listener: TypedListener ): Promise; once( event: TCEvent, listener: TypedListener ): Promise; once( filter: TypedDeferredTopicFilter, listener: TypedListener ): Promise; listeners( event: TCEvent ): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners( event?: TCEvent ): Promise; createBlock: TypedContractMethod<[], [bigint], "view">; getBalance: TypedContractMethod<[target: AddressLike], [bigint], "view">; getGasLeft: TypedContractMethod<[], [bigint], "view">; getV3PoolData: TypedContractMethod< [poolAddress: AddressLike, start: BigNumberish, end: BigNumberish], [ [ OpenMulticall.Slot0StructOutput, OpenMulticall.TickDataStructOutput[], bigint, bigint ] & { slot0: OpenMulticall.Slot0StructOutput; tickDatas: OpenMulticall.TickDataStructOutput[]; liquidity: bigint; fee: bigint; } ], "view" >; tryAggregate: TypedContractMethod< [ requireSuccess: boolean, gasLimit: BigNumberish, calls: OpenMulticall.CallStruct[] ], [OpenMulticall.ResultStructOutput[]], "payable" >; getFunction( key: string | FunctionFragment ): T; getFunction( nameOrSignature: "createBlock" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "getBalance" ): TypedContractMethod<[target: AddressLike], [bigint], "view">; getFunction( nameOrSignature: "getGasLeft" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "getV3PoolData" ): TypedContractMethod< [poolAddress: AddressLike, start: BigNumberish, end: BigNumberish], [ [ OpenMulticall.Slot0StructOutput, OpenMulticall.TickDataStructOutput[], bigint, bigint ] & { slot0: OpenMulticall.Slot0StructOutput; tickDatas: OpenMulticall.TickDataStructOutput[]; liquidity: bigint; fee: bigint; } ], "view" >; getFunction( nameOrSignature: "tryAggregate" ): TypedContractMethod< [ requireSuccess: boolean, gasLimit: BigNumberish, calls: OpenMulticall.CallStruct[] ], [OpenMulticall.ResultStructOutput[]], "payable" >; getEvent( key: "Create" ): TypedContractEvent< CreateEvent.InputTuple, CreateEvent.OutputTuple, CreateEvent.OutputObject >; filters: { "Create()": TypedContractEvent< CreateEvent.InputTuple, CreateEvent.OutputTuple, CreateEvent.OutputObject >; Create: TypedContractEvent< CreateEvent.InputTuple, CreateEvent.OutputTuple, CreateEvent.OutputObject >; }; }