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 } from "./common"; export type ClearingConfigurationStruct = { drawAmount: BigNumberish; trancheDesiredRatios: BigNumberish[]; maxExcessPercentage: BigNumberish; minExcessPercentage: BigNumberish; }; export type ClearingConfigurationStructOutput = [ BigNumber, BigNumber[], BigNumber, BigNumber ] & { drawAmount: BigNumber; trancheDesiredRatios: BigNumber[]; maxExcessPercentage: BigNumber; minExcessPercentage: BigNumber; }; export interface IClearingCoordinatorAbiInterface extends utils.Interface { functions: { "doClearing(address,uint256,uint256,uint256,(uint256,uint256[],uint256,uint256),bool)": FunctionFragment; "initializeLendingPool(address)": FunctionFragment; "isLendingPoolClearingPending(address)": FunctionFragment; "lendingPoolClearingStatus(address,uint256)": FunctionFragment; "lendingPoolMaxDrawAmount(address)": FunctionFragment; "nextLendingPoolClearingEpoch(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "doClearing" | "initializeLendingPool" | "isLendingPoolClearingPending" | "lendingPoolClearingStatus" | "lendingPoolMaxDrawAmount" | "nextLendingPoolClearingEpoch"): FunctionFragment; encodeFunctionData(functionFragment: "doClearing", values: [ string, BigNumberish, BigNumberish, BigNumberish, ClearingConfigurationStruct, boolean ]): string; encodeFunctionData(functionFragment: "initializeLendingPool", values: [string]): string; encodeFunctionData(functionFragment: "isLendingPoolClearingPending", values: [string]): string; encodeFunctionData(functionFragment: "lendingPoolClearingStatus", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "lendingPoolMaxDrawAmount", values: [string]): string; encodeFunctionData(functionFragment: "nextLendingPoolClearingEpoch", values: [string]): string; decodeFunctionResult(functionFragment: "doClearing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeLendingPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLendingPoolClearingPending", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lendingPoolClearingStatus", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lendingPoolMaxDrawAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextLendingPoolClearingEpoch", data: BytesLike): Result; events: { "ClearingConfigSet(address,uint256,(uint256,uint256[],uint256,uint256))": EventFragment; "ClearingExecuted(address,uint256,uint8)": EventFragment; "Initialized(uint64)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "ClearingConfigSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "ClearingExecuted"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; } export interface ClearingConfigSetEventObject { lendingPool: string; epoch: BigNumber; clearingConfig: ClearingConfigurationStructOutput; } export type ClearingConfigSetEvent = TypedEvent<[ string, BigNumber, ClearingConfigurationStructOutput ], ClearingConfigSetEventObject>; export type ClearingConfigSetEventFilter = TypedEventFilter; export interface ClearingExecutedEventObject { lendingPool: string; epoch: BigNumber; clearingStatus: number; } export type ClearingExecutedEvent = TypedEvent<[ string, BigNumber, number ], ClearingExecutedEventObject>; export type ClearingExecutedEventFilter = TypedEventFilter; export interface InitializedEventObject { version: BigNumber; } export type InitializedEvent = TypedEvent<[BigNumber], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface IClearingCoordinatorAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IClearingCoordinatorAbiInterface; 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: { doClearing(lendingPool: string, targetEpoch: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfig: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; initializeLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPoolClearingPending(lendingPool: string, overrides?: CallOverrides): Promise<[boolean] & { isPending: boolean; }>; lendingPoolClearingStatus(lendingPool: string, epoch: BigNumberish, overrides?: CallOverrides): Promise<[number] & { status: number; }>; lendingPoolMaxDrawAmount(lendingPool: string, overrides?: CallOverrides): Promise<[BigNumber]>; nextLendingPoolClearingEpoch(lendingPool: string, overrides?: CallOverrides): Promise<[BigNumber] & { nextClearingEpoch: BigNumber; }>; }; doClearing(lendingPool: string, targetEpoch: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfig: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; initializeLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPoolClearingPending(lendingPool: string, overrides?: CallOverrides): Promise; lendingPoolClearingStatus(lendingPool: string, epoch: BigNumberish, overrides?: CallOverrides): Promise; lendingPoolMaxDrawAmount(lendingPool: string, overrides?: CallOverrides): Promise; nextLendingPoolClearingEpoch(lendingPool: string, overrides?: CallOverrides): Promise; callStatic: { doClearing(lendingPool: string, targetEpoch: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfig: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: CallOverrides): Promise; initializeLendingPool(lendingPool: string, overrides?: CallOverrides): Promise; isLendingPoolClearingPending(lendingPool: string, overrides?: CallOverrides): Promise; lendingPoolClearingStatus(lendingPool: string, epoch: BigNumberish, overrides?: CallOverrides): Promise; lendingPoolMaxDrawAmount(lendingPool: string, overrides?: CallOverrides): Promise; nextLendingPoolClearingEpoch(lendingPool: string, overrides?: CallOverrides): Promise; }; filters: { "ClearingConfigSet(address,uint256,(uint256,uint256[],uint256,uint256))"(lendingPool?: string | null, epoch?: BigNumberish | null, clearingConfig?: null): ClearingConfigSetEventFilter; ClearingConfigSet(lendingPool?: string | null, epoch?: BigNumberish | null, clearingConfig?: null): ClearingConfigSetEventFilter; "ClearingExecuted(address,uint256,uint8)"(lendingPool?: string | null, epoch?: BigNumberish | null, clearingStatus?: null): ClearingExecutedEventFilter; ClearingExecuted(lendingPool?: string | null, epoch?: BigNumberish | null, clearingStatus?: null): ClearingExecutedEventFilter; "Initialized(uint64)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; }; estimateGas: { doClearing(lendingPool: string, targetEpoch: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfig: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; initializeLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPoolClearingPending(lendingPool: string, overrides?: CallOverrides): Promise; lendingPoolClearingStatus(lendingPool: string, epoch: BigNumberish, overrides?: CallOverrides): Promise; lendingPoolMaxDrawAmount(lendingPool: string, overrides?: CallOverrides): Promise; nextLendingPoolClearingEpoch(lendingPool: string, overrides?: CallOverrides): Promise; }; populateTransaction: { doClearing(lendingPool: string, targetEpoch: BigNumberish, priorityCalculationBatchSize: BigNumberish, acceptRequestsBatchSize: BigNumberish, clearingConfig: ClearingConfigurationStruct, isConfigOverridden: boolean, overrides?: Overrides & { from?: string; }): Promise; initializeLendingPool(lendingPool: string, overrides?: Overrides & { from?: string; }): Promise; isLendingPoolClearingPending(lendingPool: string, overrides?: CallOverrides): Promise; lendingPoolClearingStatus(lendingPool: string, epoch: BigNumberish, overrides?: CallOverrides): Promise; lendingPoolMaxDrawAmount(lendingPool: string, overrides?: CallOverrides): Promise; nextLendingPoolClearingEpoch(lendingPool: string, overrides?: CallOverrides): Promise; }; }