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 UniswapConfig { type TokenConfigStruct = { cToken: AddressLike; underlying: AddressLike; symbolHash: BytesLike; baseUnit: BigNumberish; priceSource: BigNumberish; fixedPrice: BigNumberish; uniswapMarket: AddressLike; reporter: AddressLike; reporterMultiplier: BigNumberish; isUniswapReversed: boolean; }; type TokenConfigStructOutput = [ cToken: string, underlying: string, symbolHash: string, baseUnit: bigint, priceSource: bigint, fixedPrice: bigint, uniswapMarket: string, reporter: string, reporterMultiplier: bigint, isUniswapReversed: boolean ] & { cToken: string; underlying: string; symbolHash: string; baseUnit: bigint; priceSource: bigint; fixedPrice: bigint; uniswapMarket: string; reporter: string; reporterMultiplier: bigint; isUniswapReversed: boolean; }; } export interface CompoundOracleInterface extends Interface { getFunction(nameOrSignature: "acceptOwnership" | "activateFailover" | "anchorPeriod" | "deactivateFailover" | "ethBaseUnit" | "expScale" | "getTokenConfig" | "getTokenConfigByCToken" | "getTokenConfigByReporter" | "getTokenConfigBySymbol" | "getTokenConfigBySymbolHash" | "getTokenConfigByUnderlying" | "getUnderlyingPrice" | "lowerBoundAnchorRatio" | "maxTokens" | "newObservations" | "numTokens" | "oldObservations" | "owner" | "pokeFailedOverPrice" | "price" | "prices" | "transferOwnership" | "upperBoundAnchorRatio" | "validate"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AnchorPriceUpdated" | "FailoverActivated" | "FailoverDeactivated" | "OwnershipTransferRequested" | "OwnershipTransferred" | "PriceGuarded" | "PriceUpdated" | "UniswapWindowUpdated"): EventFragment; encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "activateFailover", values: [BytesLike]): string; encodeFunctionData(functionFragment: "anchorPeriod", values?: undefined): string; encodeFunctionData(functionFragment: "deactivateFailover", values: [BytesLike]): string; encodeFunctionData(functionFragment: "ethBaseUnit", values?: undefined): string; encodeFunctionData(functionFragment: "expScale", values?: undefined): string; encodeFunctionData(functionFragment: "getTokenConfig", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getTokenConfigByCToken", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getTokenConfigByReporter", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getTokenConfigBySymbol", values: [string]): string; encodeFunctionData(functionFragment: "getTokenConfigBySymbolHash", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getTokenConfigByUnderlying", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getUnderlyingPrice", values: [AddressLike]): string; encodeFunctionData(functionFragment: "lowerBoundAnchorRatio", values?: undefined): string; encodeFunctionData(functionFragment: "maxTokens", values?: undefined): string; encodeFunctionData(functionFragment: "newObservations", values: [BytesLike]): string; encodeFunctionData(functionFragment: "numTokens", values?: undefined): string; encodeFunctionData(functionFragment: "oldObservations", values: [BytesLike]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pokeFailedOverPrice", values: [BytesLike]): string; encodeFunctionData(functionFragment: "price", values: [string]): string; encodeFunctionData(functionFragment: "prices", values: [BytesLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "upperBoundAnchorRatio", values?: undefined): string; encodeFunctionData(functionFragment: "validate", values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]): string; decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "activateFailover", data: BytesLike): Result; decodeFunctionResult(functionFragment: "anchorPeriod", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deactivateFailover", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ethBaseUnit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "expScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenConfigByCToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenConfigByReporter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenConfigBySymbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenConfigBySymbolHash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenConfigByUnderlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUnderlyingPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lowerBoundAnchorRatio", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "newObservations", data: BytesLike): Result; decodeFunctionResult(functionFragment: "numTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "oldObservations", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pokeFailedOverPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "price", data: BytesLike): Result; decodeFunctionResult(functionFragment: "prices", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upperBoundAnchorRatio", data: BytesLike): Result; decodeFunctionResult(functionFragment: "validate", data: BytesLike): Result; } export declare namespace AnchorPriceUpdatedEvent { type InputTuple = [ symbolHash: BytesLike, anchorPrice: BigNumberish, oldTimestamp: BigNumberish, newTimestamp: BigNumberish ]; type OutputTuple = [ symbolHash: string, anchorPrice: bigint, oldTimestamp: bigint, newTimestamp: bigint ]; interface OutputObject { symbolHash: string; anchorPrice: bigint; oldTimestamp: bigint; newTimestamp: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FailoverActivatedEvent { type InputTuple = [symbolHash: BytesLike]; type OutputTuple = [symbolHash: string]; interface OutputObject { symbolHash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace FailoverDeactivatedEvent { type InputTuple = [symbolHash: BytesLike]; type OutputTuple = [symbolHash: string]; interface OutputObject { symbolHash: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferRequestedEvent { type InputTuple = [from: AddressLike, to: AddressLike]; type OutputTuple = [from: string, to: string]; interface OutputObject { from: string; to: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferredEvent { type InputTuple = [from: AddressLike, to: AddressLike]; type OutputTuple = [from: string, to: string]; interface OutputObject { from: string; to: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace PriceGuardedEvent { type InputTuple = [ symbolHash: BytesLike, reporter: BigNumberish, anchor: BigNumberish ]; type OutputTuple = [ symbolHash: string, reporter: bigint, anchor: bigint ]; interface OutputObject { symbolHash: string; reporter: bigint; anchor: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace PriceUpdatedEvent { type InputTuple = [symbolHash: BytesLike, price: BigNumberish]; type OutputTuple = [symbolHash: string, price: bigint]; interface OutputObject { symbolHash: string; price: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UniswapWindowUpdatedEvent { type InputTuple = [ symbolHash: BytesLike, oldTimestamp: BigNumberish, newTimestamp: BigNumberish, oldPrice: BigNumberish, newPrice: BigNumberish ]; type OutputTuple = [ symbolHash: string, oldTimestamp: bigint, newTimestamp: bigint, oldPrice: bigint, newPrice: bigint ]; interface OutputObject { symbolHash: string; oldTimestamp: bigint; newTimestamp: bigint; oldPrice: bigint; newPrice: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface CompoundOracle extends BaseContract { connect(runner?: ContractRunner | null): CompoundOracle; waitForDeployment(): Promise; interface: CompoundOracleInterface; 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; acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; activateFailover: TypedContractMethod<[ symbolHash: BytesLike ], [ void ], "nonpayable">; anchorPeriod: TypedContractMethod<[], [bigint], "view">; deactivateFailover: TypedContractMethod<[ symbolHash: BytesLike ], [ void ], "nonpayable">; ethBaseUnit: TypedContractMethod<[], [bigint], "view">; expScale: TypedContractMethod<[], [bigint], "view">; getTokenConfig: TypedContractMethod<[ i: BigNumberish ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getTokenConfigByCToken: TypedContractMethod<[ cToken: AddressLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getTokenConfigByReporter: TypedContractMethod<[ reporter: AddressLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getTokenConfigBySymbol: TypedContractMethod<[ symbol: string ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getTokenConfigBySymbolHash: TypedContractMethod<[ symbolHash: BytesLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getTokenConfigByUnderlying: TypedContractMethod<[ underlying: AddressLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getUnderlyingPrice: TypedContractMethod<[ cToken: AddressLike ], [ bigint ], "view">; lowerBoundAnchorRatio: TypedContractMethod<[], [bigint], "view">; maxTokens: TypedContractMethod<[], [bigint], "view">; newObservations: TypedContractMethod<[ arg0: BytesLike ], [ [bigint, bigint] & { timestamp: bigint; acc: bigint; } ], "view">; numTokens: TypedContractMethod<[], [bigint], "view">; oldObservations: TypedContractMethod<[ arg0: BytesLike ], [ [bigint, bigint] & { timestamp: bigint; acc: bigint; } ], "view">; owner: TypedContractMethod<[], [string], "view">; pokeFailedOverPrice: TypedContractMethod<[ symbolHash: BytesLike ], [ void ], "nonpayable">; price: TypedContractMethod<[symbol: string], [bigint], "view">; prices: TypedContractMethod<[ arg0: BytesLike ], [ [bigint, boolean] & { price: bigint; failoverActive: boolean; } ], "view">; transferOwnership: TypedContractMethod<[ to: AddressLike ], [ void ], "nonpayable">; upperBoundAnchorRatio: TypedContractMethod<[], [bigint], "view">; validate: TypedContractMethod<[ arg0: BigNumberish, arg1: BigNumberish, arg2: BigNumberish, currentAnswer: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "activateFailover"): TypedContractMethod<[symbolHash: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "anchorPeriod"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "deactivateFailover"): TypedContractMethod<[symbolHash: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "ethBaseUnit"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "expScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getTokenConfig"): TypedContractMethod<[ i: BigNumberish ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getFunction(nameOrSignature: "getTokenConfigByCToken"): TypedContractMethod<[ cToken: AddressLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getFunction(nameOrSignature: "getTokenConfigByReporter"): TypedContractMethod<[ reporter: AddressLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getFunction(nameOrSignature: "getTokenConfigBySymbol"): TypedContractMethod<[ symbol: string ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getFunction(nameOrSignature: "getTokenConfigBySymbolHash"): TypedContractMethod<[ symbolHash: BytesLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getFunction(nameOrSignature: "getTokenConfigByUnderlying"): TypedContractMethod<[ underlying: AddressLike ], [ UniswapConfig.TokenConfigStructOutput ], "view">; getFunction(nameOrSignature: "getUnderlyingPrice"): TypedContractMethod<[cToken: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "lowerBoundAnchorRatio"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "maxTokens"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "newObservations"): TypedContractMethod<[ arg0: BytesLike ], [ [bigint, bigint] & { timestamp: bigint; acc: bigint; } ], "view">; getFunction(nameOrSignature: "numTokens"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "oldObservations"): TypedContractMethod<[ arg0: BytesLike ], [ [bigint, bigint] & { timestamp: bigint; acc: bigint; } ], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "pokeFailedOverPrice"): TypedContractMethod<[symbolHash: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "price"): TypedContractMethod<[symbol: string], [bigint], "view">; getFunction(nameOrSignature: "prices"): TypedContractMethod<[ arg0: BytesLike ], [ [bigint, boolean] & { price: bigint; failoverActive: boolean; } ], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[to: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "upperBoundAnchorRatio"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "validate"): TypedContractMethod<[ arg0: BigNumberish, arg1: BigNumberish, arg2: BigNumberish, currentAnswer: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "AnchorPriceUpdated"): TypedContractEvent; getEvent(key: "FailoverActivated"): TypedContractEvent; getEvent(key: "FailoverDeactivated"): TypedContractEvent; getEvent(key: "OwnershipTransferRequested"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "PriceGuarded"): TypedContractEvent; getEvent(key: "PriceUpdated"): TypedContractEvent; getEvent(key: "UniswapWindowUpdated"): TypedContractEvent; filters: { "AnchorPriceUpdated(bytes32,uint256,uint256,uint256)": TypedContractEvent; AnchorPriceUpdated: TypedContractEvent; "FailoverActivated(bytes32)": TypedContractEvent; FailoverActivated: TypedContractEvent; "FailoverDeactivated(bytes32)": TypedContractEvent; FailoverDeactivated: TypedContractEvent; "OwnershipTransferRequested(address,address)": TypedContractEvent; OwnershipTransferRequested: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "PriceGuarded(bytes32,uint256,uint256)": TypedContractEvent; PriceGuarded: TypedContractEvent; "PriceUpdated(bytes32,uint256)": TypedContractEvent; PriceUpdated: TypedContractEvent; "UniswapWindowUpdated(bytes32,uint256,uint256,uint256,uint256)": TypedContractEvent; UniswapWindowUpdated: TypedContractEvent; }; }