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 interface AaveV2OracleInterface extends Interface { getFunction(nameOrSignature: "BASE_CURRENCY" | "BASE_CURRENCY_UNIT" | "getAssetPrice" | "getAssetsPrices" | "getFallbackOracle" | "getSourceOfAsset" | "owner" | "renounceOwnership" | "setAssetSources" | "setFallbackOracle" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AssetSourceUpdated" | "BaseCurrencySet" | "FallbackOracleUpdated" | "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "BASE_CURRENCY", values?: undefined): string; encodeFunctionData(functionFragment: "BASE_CURRENCY_UNIT", values?: undefined): string; encodeFunctionData(functionFragment: "getAssetPrice", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getAssetsPrices", values: [AddressLike[]]): string; encodeFunctionData(functionFragment: "getFallbackOracle", values?: undefined): string; encodeFunctionData(functionFragment: "getSourceOfAsset", values: [AddressLike]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setAssetSources", values: [AddressLike[], AddressLike[]]): string; encodeFunctionData(functionFragment: "setFallbackOracle", values: [AddressLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "BASE_CURRENCY", data: BytesLike): Result; decodeFunctionResult(functionFragment: "BASE_CURRENCY_UNIT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAssetPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAssetsPrices", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getFallbackOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSourceOfAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAssetSources", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFallbackOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } export declare namespace AssetSourceUpdatedEvent { type InputTuple = [asset: AddressLike, source: AddressLike]; type OutputTuple = [asset: string, source: string]; interface OutputObject { asset: string; source: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BaseCurrencySetEvent { type InputTuple = [ baseCurrency: AddressLike, baseCurrencyUnit: BigNumberish ]; type OutputTuple = [baseCurrency: string, baseCurrencyUnit: bigint]; interface OutputObject { baseCurrency: string; baseCurrencyUnit: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FallbackOracleUpdatedEvent { type InputTuple = [fallbackOracle: AddressLike]; type OutputTuple = [fallbackOracle: string]; interface OutputObject { fallbackOracle: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferredEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface AaveV2Oracle extends BaseContract { connect(runner?: ContractRunner | null): AaveV2Oracle; waitForDeployment(): Promise; interface: AaveV2OracleInterface; 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; BASE_CURRENCY: TypedContractMethod<[], [string], "view">; BASE_CURRENCY_UNIT: TypedContractMethod<[], [bigint], "view">; getAssetPrice: TypedContractMethod<[asset: AddressLike], [bigint], "view">; getAssetsPrices: TypedContractMethod<[ assets: AddressLike[] ], [ bigint[] ], "view">; getFallbackOracle: TypedContractMethod<[], [string], "view">; getSourceOfAsset: TypedContractMethod<[asset: AddressLike], [string], "view">; owner: TypedContractMethod<[], [string], "view">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; setAssetSources: TypedContractMethod<[ assets: AddressLike[], sources: AddressLike[] ], [ void ], "nonpayable">; setFallbackOracle: TypedContractMethod<[ fallbackOracle: AddressLike ], [ void ], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "BASE_CURRENCY"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "BASE_CURRENCY_UNIT"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getAssetPrice"): TypedContractMethod<[asset: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getAssetsPrices"): TypedContractMethod<[assets: AddressLike[]], [bigint[]], "view">; getFunction(nameOrSignature: "getFallbackOracle"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getSourceOfAsset"): TypedContractMethod<[asset: AddressLike], [string], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "setAssetSources"): TypedContractMethod<[ assets: AddressLike[], sources: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setFallbackOracle"): TypedContractMethod<[fallbackOracle: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getEvent(key: "AssetSourceUpdated"): TypedContractEvent; getEvent(key: "BaseCurrencySet"): TypedContractEvent; getEvent(key: "FallbackOracleUpdated"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "AssetSourceUpdated(address,address)": TypedContractEvent; AssetSourceUpdated: TypedContractEvent; "BaseCurrencySet(address,uint256)": TypedContractEvent; BaseCurrencySet: TypedContractEvent; "FallbackOracleUpdated(address)": TypedContractEvent; FallbackOracleUpdated: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; }