import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common"; export declare namespace IOracleAggregator { type OracleAssignmentStruct = { oracle: PromiseOrValue; forced: PromiseOrValue; }; type OracleAssignmentStructOutput = [string, boolean] & { oracle: string; forced: boolean; }; } export interface IOracleAggregatorInterface extends utils.Interface { functions: { "addOrModifySupportForPair(address,address,bytes)": FunctionFragment; "addSupportForPairIfNeeded(address,address,bytes)": FunctionFragment; "assignedOracle(address,address)": FunctionFragment; "availableOracles()": FunctionFragment; "canSupportPair(address,address)": FunctionFragment; "forceOracle(address,address,address,bytes)": FunctionFragment; "isPairAlreadySupported(address,address)": FunctionFragment; "previewAddOrModifySupportForPair(address,address)": FunctionFragment; "quote(address,uint256,address,bytes)": FunctionFragment; "setAvailableOracles(address[])": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addOrModifySupportForPair" | "addSupportForPairIfNeeded" | "assignedOracle" | "availableOracles" | "canSupportPair" | "forceOracle" | "isPairAlreadySupported" | "previewAddOrModifySupportForPair" | "quote" | "setAvailableOracles"): FunctionFragment; encodeFunctionData(functionFragment: "addOrModifySupportForPair", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "addSupportForPairIfNeeded", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "assignedOracle", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "availableOracles", values?: undefined): string; encodeFunctionData(functionFragment: "canSupportPair", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "forceOracle", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "isPairAlreadySupported", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "previewAddOrModifySupportForPair", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "quote", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "setAvailableOracles", values: [PromiseOrValue[]]): string; decodeFunctionResult(functionFragment: "addOrModifySupportForPair", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addSupportForPairIfNeeded", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assignedOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "availableOracles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "canSupportPair", data: BytesLike): Result; decodeFunctionResult(functionFragment: "forceOracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isPairAlreadySupported", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewAddOrModifySupportForPair", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quote", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAvailableOracles", data: BytesLike): Result; events: { "OracleAssigned(address,address,address)": EventFragment; "OracleListUpdated(address[])": EventFragment; }; getEvent(nameOrSignatureOrTopic: "OracleAssigned"): EventFragment; getEvent(nameOrSignatureOrTopic: "OracleListUpdated"): EventFragment; } export interface OracleAssignedEventObject { tokenA: string; tokenB: string; oracle: string; } export declare type OracleAssignedEvent = TypedEvent<[ string, string, string ], OracleAssignedEventObject>; export declare type OracleAssignedEventFilter = TypedEventFilter; export interface OracleListUpdatedEventObject { oracles: string[]; } export declare type OracleListUpdatedEvent = TypedEvent<[ string[] ], OracleListUpdatedEventObject>; export declare type OracleListUpdatedEventFilter = TypedEventFilter; export interface IOracleAggregator extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IOracleAggregatorInterface; 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: { addOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addSupportForPairIfNeeded(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; assignedOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise<[IOracleAggregator.OracleAssignmentStructOutput]>; availableOracles(overrides?: CallOverrides): Promise<[string[]]>; canSupportPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; forceOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, oracle: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isPairAlreadySupported(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; previewAddOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise<[string]>; quote(tokenIn: PromiseOrValue, amountIn: PromiseOrValue, tokenOut: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber] & { amountOut: BigNumber; }>; setAvailableOracles(oracles: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; addOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addSupportForPairIfNeeded(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; assignedOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; availableOracles(overrides?: CallOverrides): Promise; canSupportPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; forceOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, oracle: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isPairAlreadySupported(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; previewAddOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; quote(tokenIn: PromiseOrValue, amountIn: PromiseOrValue, tokenOut: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; setAvailableOracles(oracles: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { addOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; addSupportForPairIfNeeded(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; assignedOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; availableOracles(overrides?: CallOverrides): Promise; canSupportPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; forceOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, oracle: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; isPairAlreadySupported(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; previewAddOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; quote(tokenIn: PromiseOrValue, amountIn: PromiseOrValue, tokenOut: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; setAvailableOracles(oracles: PromiseOrValue[], overrides?: CallOverrides): Promise; }; filters: { "OracleAssigned(address,address,address)"(tokenA?: null, tokenB?: null, oracle?: null): OracleAssignedEventFilter; OracleAssigned(tokenA?: null, tokenB?: null, oracle?: null): OracleAssignedEventFilter; "OracleListUpdated(address[])"(oracles?: null): OracleListUpdatedEventFilter; OracleListUpdated(oracles?: null): OracleListUpdatedEventFilter; }; estimateGas: { addOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addSupportForPairIfNeeded(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; assignedOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; availableOracles(overrides?: CallOverrides): Promise; canSupportPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; forceOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, oracle: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isPairAlreadySupported(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; previewAddOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; quote(tokenIn: PromiseOrValue, amountIn: PromiseOrValue, tokenOut: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; setAvailableOracles(oracles: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { addOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addSupportForPairIfNeeded(tokenA: PromiseOrValue, tokenB: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; assignedOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; availableOracles(overrides?: CallOverrides): Promise; canSupportPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; forceOracle(tokenA: PromiseOrValue, tokenB: PromiseOrValue, oracle: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isPairAlreadySupported(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; previewAddOrModifySupportForPair(tokenA: PromiseOrValue, tokenB: PromiseOrValue, overrides?: CallOverrides): Promise; quote(tokenIn: PromiseOrValue, amountIn: PromiseOrValue, tokenOut: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides): Promise; setAvailableOracles(oracles: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; } //# sourceMappingURL=IOracleAggregator.d.ts.map