/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { FunctionFragment, Result } from '@ethersproject/abi' import { Interface } from '@ethersproject/abi' import type { Listener, Provider } from '@ethersproject/abstract-provider' import type { Signer } from '@ethersproject/abstract-signer' import type { BigNumber, BigNumberish } from '@ethersproject/bignumber' import type { BytesLike } from '@ethersproject/bytes' import type { BaseContract, CallOverrides, ContractTransaction, PayableOverrides, PopulatedTransaction, } from '@ethersproject/contracts' import type { OnEvent, PromiseOrValue, TypedEvent, TypedEventFilter, TypedListener, } from './common' export declare namespace Multicall3 { export type CallStruct = { target: PromiseOrValue callData: PromiseOrValue } export type CallStructOutput = [string, string] & { target: string callData: string } export type Call3Struct = { target: PromiseOrValue allowFailure: PromiseOrValue callData: PromiseOrValue } export type Call3StructOutput = [string, boolean, string] & { target: string allowFailure: boolean callData: string } export type ResultStruct = { success: PromiseOrValue returnData: PromiseOrValue } export type ResultStructOutput = [boolean, string] & { success: boolean returnData: string } export type Call3ValueStruct = { target: PromiseOrValue allowFailure: PromiseOrValue value: PromiseOrValue callData: PromiseOrValue } export type Call3ValueStructOutput = [string, boolean, BigNumber, string] & { target: string allowFailure: boolean value: BigNumber callData: string } } export interface MulticallInterface extends Interface { functions: { 'aggregate((address,bytes)[])': FunctionFragment 'aggregate3((address,bool,bytes)[])': FunctionFragment 'aggregate3Value((address,bool,uint256,bytes)[])': FunctionFragment 'blockAndAggregate((address,bytes)[])': FunctionFragment 'getBasefee()': FunctionFragment 'getBlockHash(uint256)': FunctionFragment 'getBlockNumber()': FunctionFragment 'getChainId()': FunctionFragment 'getCurrentBlockCoinbase()': FunctionFragment 'getCurrentBlockDifficulty()': FunctionFragment 'getCurrentBlockGasLimit()': FunctionFragment 'getCurrentBlockTimestamp()': FunctionFragment 'getEthBalance(address)': FunctionFragment 'getLastBlockHash()': FunctionFragment 'tryAggregate(bool,(address,bytes)[])': FunctionFragment 'tryBlockAndAggregate(bool,(address,bytes)[])': FunctionFragment } getFunction( nameOrSignatureOrTopic: | 'aggregate' | 'aggregate3' | 'aggregate3Value' | 'blockAndAggregate' | 'getBasefee' | 'getBlockHash' | 'getBlockNumber' | 'getChainId' | 'getCurrentBlockCoinbase' | 'getCurrentBlockDifficulty' | 'getCurrentBlockGasLimit' | 'getCurrentBlockTimestamp' | 'getEthBalance' | 'getLastBlockHash' | 'tryAggregate' | 'tryBlockAndAggregate', ): FunctionFragment encodeFunctionData( functionFragment: 'aggregate', values: [Multicall3.CallStruct[]], ): string encodeFunctionData( functionFragment: 'aggregate3', values: [Multicall3.Call3Struct[]], ): string encodeFunctionData( functionFragment: 'aggregate3Value', values: [Multicall3.Call3ValueStruct[]], ): string encodeFunctionData( functionFragment: 'blockAndAggregate', values: [Multicall3.CallStruct[]], ): string encodeFunctionData(functionFragment: 'getBasefee', values?: undefined): string encodeFunctionData( functionFragment: 'getBlockHash', values: [PromiseOrValue], ): string encodeFunctionData( functionFragment: 'getBlockNumber', values?: undefined, ): string encodeFunctionData(functionFragment: 'getChainId', values?: undefined): string encodeFunctionData( functionFragment: 'getCurrentBlockCoinbase', values?: undefined, ): string encodeFunctionData( functionFragment: 'getCurrentBlockDifficulty', values?: undefined, ): string encodeFunctionData( functionFragment: 'getCurrentBlockGasLimit', values?: undefined, ): string encodeFunctionData( functionFragment: 'getCurrentBlockTimestamp', values?: undefined, ): string encodeFunctionData( functionFragment: 'getEthBalance', values: [PromiseOrValue], ): string encodeFunctionData( functionFragment: 'getLastBlockHash', values?: undefined, ): string encodeFunctionData( functionFragment: 'tryAggregate', values: [PromiseOrValue, Multicall3.CallStruct[]], ): string encodeFunctionData( functionFragment: 'tryBlockAndAggregate', values: [PromiseOrValue, Multicall3.CallStruct[]], ): string decodeFunctionResult(functionFragment: 'aggregate', data: BytesLike): Result decodeFunctionResult(functionFragment: 'aggregate3', data: BytesLike): Result decodeFunctionResult( functionFragment: 'aggregate3Value', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'blockAndAggregate', data: BytesLike, ): Result decodeFunctionResult(functionFragment: 'getBasefee', data: BytesLike): Result decodeFunctionResult( functionFragment: 'getBlockHash', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'getBlockNumber', data: BytesLike, ): Result decodeFunctionResult(functionFragment: 'getChainId', data: BytesLike): Result decodeFunctionResult( functionFragment: 'getCurrentBlockCoinbase', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'getCurrentBlockDifficulty', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'getCurrentBlockGasLimit', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'getCurrentBlockTimestamp', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'getEthBalance', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'getLastBlockHash', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'tryAggregate', data: BytesLike, ): Result decodeFunctionResult( functionFragment: 'tryBlockAndAggregate', data: BytesLike, ): Result events: {} } export interface Multicall extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this attach(addressOrName: string): this deployed(): Promise interface: MulticallInterface queryFilter( event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined, ): Promise> listeners( eventFilter?: TypedEventFilter, ): Array> listeners(eventName?: string): Array removeAllListeners( eventFilter: TypedEventFilter, ): this removeAllListeners(eventName?: string): this off: OnEvent on: OnEvent once: OnEvent removeListener: OnEvent functions: { aggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3( calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3Value( calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise blockAndAggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise getBasefee( overrides?: CallOverrides, ): Promise<[BigNumber] & { basefee: BigNumber }> getBlockHash( blockNumber: PromiseOrValue, overrides?: CallOverrides, ): Promise<[string] & { blockHash: string }> getBlockNumber( overrides?: CallOverrides, ): Promise<[BigNumber] & { blockNumber: BigNumber }> getChainId( overrides?: CallOverrides, ): Promise<[BigNumber] & { chainid: BigNumber }> getCurrentBlockCoinbase( overrides?: CallOverrides, ): Promise<[string] & { coinbase: string }> getCurrentBlockDifficulty( overrides?: CallOverrides, ): Promise<[BigNumber] & { difficulty: BigNumber }> getCurrentBlockGasLimit( overrides?: CallOverrides, ): Promise<[BigNumber] & { gaslimit: BigNumber }> getCurrentBlockTimestamp( overrides?: CallOverrides, ): Promise<[BigNumber] & { timestamp: BigNumber }> getEthBalance( addr: PromiseOrValue, overrides?: CallOverrides, ): Promise<[BigNumber] & { balance: BigNumber }> getLastBlockHash( overrides?: CallOverrides, ): Promise<[string] & { blockHash: string }> tryAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise tryBlockAndAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise } aggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3( calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3Value( calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise blockAndAggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise getBasefee(overrides?: CallOverrides): Promise getBlockHash( blockNumber: PromiseOrValue, overrides?: CallOverrides, ): Promise getBlockNumber(overrides?: CallOverrides): Promise getChainId(overrides?: CallOverrides): Promise getCurrentBlockCoinbase(overrides?: CallOverrides): Promise getCurrentBlockDifficulty(overrides?: CallOverrides): Promise getCurrentBlockGasLimit(overrides?: CallOverrides): Promise getCurrentBlockTimestamp(overrides?: CallOverrides): Promise getEthBalance( addr: PromiseOrValue, overrides?: CallOverrides, ): Promise getLastBlockHash(overrides?: CallOverrides): Promise tryAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise tryBlockAndAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise callStatic: { aggregate( calls: Multicall3.CallStruct[], overrides?: CallOverrides, ): Promise< [BigNumber, string[]] & { blockNumber: BigNumber; returnData: string[] } > aggregate3( calls: Multicall3.Call3Struct[], overrides?: CallOverrides, ): Promise aggregate3Value( calls: Multicall3.Call3ValueStruct[], overrides?: CallOverrides, ): Promise blockAndAggregate( calls: Multicall3.CallStruct[], overrides?: CallOverrides, ): Promise< [BigNumber, string, Multicall3.ResultStructOutput[]] & { blockNumber: BigNumber blockHash: string returnData: Multicall3.ResultStructOutput[] } > getBasefee(overrides?: CallOverrides): Promise getBlockHash( blockNumber: PromiseOrValue, overrides?: CallOverrides, ): Promise getBlockNumber(overrides?: CallOverrides): Promise getChainId(overrides?: CallOverrides): Promise getCurrentBlockCoinbase(overrides?: CallOverrides): Promise getCurrentBlockDifficulty(overrides?: CallOverrides): Promise getCurrentBlockGasLimit(overrides?: CallOverrides): Promise getCurrentBlockTimestamp(overrides?: CallOverrides): Promise getEthBalance( addr: PromiseOrValue, overrides?: CallOverrides, ): Promise getLastBlockHash(overrides?: CallOverrides): Promise tryAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: CallOverrides, ): Promise tryBlockAndAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: CallOverrides, ): Promise< [BigNumber, string, Multicall3.ResultStructOutput[]] & { blockNumber: BigNumber blockHash: string returnData: Multicall3.ResultStructOutput[] } > } filters: {} estimateGas: { aggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3( calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3Value( calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise blockAndAggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise getBasefee(overrides?: CallOverrides): Promise getBlockHash( blockNumber: PromiseOrValue, overrides?: CallOverrides, ): Promise getBlockNumber(overrides?: CallOverrides): Promise getChainId(overrides?: CallOverrides): Promise getCurrentBlockCoinbase(overrides?: CallOverrides): Promise getCurrentBlockDifficulty(overrides?: CallOverrides): Promise getCurrentBlockGasLimit(overrides?: CallOverrides): Promise getCurrentBlockTimestamp(overrides?: CallOverrides): Promise getEthBalance( addr: PromiseOrValue, overrides?: CallOverrides, ): Promise getLastBlockHash(overrides?: CallOverrides): Promise tryAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise tryBlockAndAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise } populateTransaction: { aggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3( calls: Multicall3.Call3Struct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise aggregate3Value( calls: Multicall3.Call3ValueStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise blockAndAggregate( calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise getBasefee(overrides?: CallOverrides): Promise getBlockHash( blockNumber: PromiseOrValue, overrides?: CallOverrides, ): Promise getBlockNumber(overrides?: CallOverrides): Promise getChainId(overrides?: CallOverrides): Promise getCurrentBlockCoinbase( overrides?: CallOverrides, ): Promise getCurrentBlockDifficulty( overrides?: CallOverrides, ): Promise getCurrentBlockGasLimit( overrides?: CallOverrides, ): Promise getCurrentBlockTimestamp( overrides?: CallOverrides, ): Promise getEthBalance( addr: PromiseOrValue, overrides?: CallOverrides, ): Promise getLastBlockHash(overrides?: CallOverrides): Promise tryAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise tryBlockAndAggregate( requireSuccess: PromiseOrValue, calls: Multicall3.CallStruct[], overrides?: PayableOverrides & { from?: PromiseOrValue }, ): Promise } }