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 TrancheInfoStruct = { trancheName: string; tokenSymbol: string; }; export type TrancheInfoStructOutput = [string, string] & { trancheName: string; tokenSymbol: string; }; export interface ISystemVariablesAbiInterface extends utils.Interface { functions: { "clearingPeriodLength()": FunctionFragment; "currentEpochNumber()": FunctionFragment; "currentRequestEpoch()": FunctionFragment; "defaultTrancheInterestChangeEpochDelay()": FunctionFragment; "epochDuration()": FunctionFragment; "epochStartTimestamp(uint256)": FunctionFragment; "feeRates()": FunctionFragment; "isClearingTime()": FunctionFragment; "ksuEpochTokenPrice()": FunctionFragment; "loyaltyLevelsCount()": FunctionFragment; "loyaltyThresholds()": FunctionFragment; "maxTrancheCountPerLendingPool()": FunctionFragment; "maxTrancheInterestRate()": FunctionFragment; "minTrancheCountPerLendingPool()": FunctionFragment; "nextEpochStartTimestamp()": FunctionFragment; "performanceFee()": FunctionFragment; "priceUpdateEpoch()": FunctionFragment; "protocolFeeReceiver()": FunctionFragment; "setDefaultTrancheInterestChangeEpochDelay(uint256)": FunctionFragment; "setFeeRates(uint256,uint256)": FunctionFragment; "setLoyaltyThresholds(uint256[])": FunctionFragment; "setMaxTrancheInterestRate(uint256)": FunctionFragment; "setPerformanceFee(uint256)": FunctionFragment; "setProtocolFeeReceiver(address)": FunctionFragment; "setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(bool)": FunctionFragment; "trancheNameInfo(uint256)": FunctionFragment; "updateKsuEpochTokenPrice()": FunctionFragment; "userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "clearingPeriodLength" | "currentEpochNumber" | "currentRequestEpoch" | "defaultTrancheInterestChangeEpochDelay" | "epochDuration" | "epochStartTimestamp" | "feeRates" | "isClearingTime" | "ksuEpochTokenPrice" | "loyaltyLevelsCount" | "loyaltyThresholds" | "maxTrancheCountPerLendingPool" | "maxTrancheInterestRate" | "minTrancheCountPerLendingPool" | "nextEpochStartTimestamp" | "performanceFee" | "priceUpdateEpoch" | "protocolFeeReceiver" | "setDefaultTrancheInterestChangeEpochDelay" | "setFeeRates" | "setLoyaltyThresholds" | "setMaxTrancheInterestRate" | "setPerformanceFee" | "setProtocolFeeReceiver" | "setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU" | "trancheNameInfo" | "updateKsuEpochTokenPrice" | "userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU"): FunctionFragment; encodeFunctionData(functionFragment: "clearingPeriodLength", values?: undefined): string; encodeFunctionData(functionFragment: "currentEpochNumber", values?: undefined): string; encodeFunctionData(functionFragment: "currentRequestEpoch", values?: undefined): string; encodeFunctionData(functionFragment: "defaultTrancheInterestChangeEpochDelay", values?: undefined): string; encodeFunctionData(functionFragment: "epochDuration", values?: undefined): string; encodeFunctionData(functionFragment: "epochStartTimestamp", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "feeRates", values?: undefined): string; encodeFunctionData(functionFragment: "isClearingTime", values?: undefined): string; encodeFunctionData(functionFragment: "ksuEpochTokenPrice", values?: undefined): string; encodeFunctionData(functionFragment: "loyaltyLevelsCount", values?: undefined): string; encodeFunctionData(functionFragment: "loyaltyThresholds", values?: undefined): string; encodeFunctionData(functionFragment: "maxTrancheCountPerLendingPool", values?: undefined): string; encodeFunctionData(functionFragment: "maxTrancheInterestRate", values?: undefined): string; encodeFunctionData(functionFragment: "minTrancheCountPerLendingPool", values?: undefined): string; encodeFunctionData(functionFragment: "nextEpochStartTimestamp", values?: undefined): string; encodeFunctionData(functionFragment: "performanceFee", values?: undefined): string; encodeFunctionData(functionFragment: "priceUpdateEpoch", values?: undefined): string; encodeFunctionData(functionFragment: "protocolFeeReceiver", values?: undefined): string; encodeFunctionData(functionFragment: "setDefaultTrancheInterestChangeEpochDelay", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setFeeRates", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setLoyaltyThresholds", values: [BigNumberish[]]): string; encodeFunctionData(functionFragment: "setMaxTrancheInterestRate", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setPerformanceFee", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setProtocolFeeReceiver", values: [string]): string; encodeFunctionData(functionFragment: "setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU", values: [boolean]): string; encodeFunctionData(functionFragment: "trancheNameInfo", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "updateKsuEpochTokenPrice", values?: undefined): string; encodeFunctionData(functionFragment: "userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU", values?: undefined): string; decodeFunctionResult(functionFragment: "clearingPeriodLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentEpochNumber", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentRequestEpoch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "defaultTrancheInterestChangeEpochDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "epochDuration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "epochStartTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "feeRates", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isClearingTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ksuEpochTokenPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "loyaltyLevelsCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "loyaltyThresholds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxTrancheCountPerLendingPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxTrancheInterestRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "minTrancheCountPerLendingPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextEpochStartTimestamp", data: BytesLike): Result; decodeFunctionResult(functionFragment: "performanceFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "priceUpdateEpoch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "protocolFeeReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDefaultTrancheInterestChangeEpochDelay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeeRates", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setLoyaltyThresholds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMaxTrancheInterestRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPerformanceFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setProtocolFeeReceiver", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trancheNameInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateKsuEpochTokenPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU", data: BytesLike): Result; events: { "KsuTokenPriceUpdated(uint256,uint256)": EventFragment; "PerformanceFeeUpdated(uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "KsuTokenPriceUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "PerformanceFeeUpdated"): EventFragment; } export interface KsuTokenPriceUpdatedEventObject { epoch: BigNumber; ksuTokenPrice: BigNumber; } export type KsuTokenPriceUpdatedEvent = TypedEvent<[ BigNumber, BigNumber ], KsuTokenPriceUpdatedEventObject>; export type KsuTokenPriceUpdatedEventFilter = TypedEventFilter; export interface PerformanceFeeUpdatedEventObject { performanceFee: BigNumber; } export type PerformanceFeeUpdatedEvent = TypedEvent<[ BigNumber ], PerformanceFeeUpdatedEventObject>; export type PerformanceFeeUpdatedEventFilter = TypedEventFilter; export interface ISystemVariablesAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ISystemVariablesAbiInterface; 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: { clearingPeriodLength(overrides?: CallOverrides): Promise<[BigNumber]>; currentEpochNumber(overrides?: CallOverrides): Promise<[BigNumber]>; currentRequestEpoch(overrides?: CallOverrides): Promise<[BigNumber] & { requestEpoch: BigNumber; }>; defaultTrancheInterestChangeEpochDelay(overrides?: CallOverrides): Promise<[BigNumber]>; epochDuration(overrides?: CallOverrides): Promise<[BigNumber]>; epochStartTimestamp(epoch: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; feeRates(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { ecosystemFeeRate: BigNumber; protocolFeeRate: BigNumber; }>; isClearingTime(overrides?: CallOverrides): Promise<[boolean]>; ksuEpochTokenPrice(overrides?: CallOverrides): Promise<[BigNumber]>; loyaltyLevelsCount(overrides?: CallOverrides): Promise<[number]>; loyaltyThresholds(overrides?: CallOverrides): Promise<[BigNumber[]] & { loyaltyThresholds: BigNumber[]; }>; maxTrancheCountPerLendingPool(overrides?: CallOverrides): Promise<[BigNumber]>; maxTrancheInterestRate(overrides?: CallOverrides): Promise<[BigNumber]>; minTrancheCountPerLendingPool(overrides?: CallOverrides): Promise<[BigNumber]>; nextEpochStartTimestamp(overrides?: CallOverrides): Promise<[BigNumber]>; performanceFee(overrides?: CallOverrides): Promise<[BigNumber]>; priceUpdateEpoch(overrides?: CallOverrides): Promise<[BigNumber]>; protocolFeeReceiver(overrides?: CallOverrides): Promise<[string]>; setDefaultTrancheInterestChangeEpochDelay(defaultTrancheInterestChangeEpochDelay_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRates(ecosystemFeeRate: BigNumberish, protocolFeeRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setLoyaltyThresholds(loyaltyThresholds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; setMaxTrancheInterestRate(maxTrancheInterestRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPerformanceFee(performanceFee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setProtocolFeeReceiver(receiver: string, overrides?: Overrides & { from?: string; }): Promise; setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(value: boolean, overrides?: Overrides & { from?: string; }): Promise; trancheNameInfo(index: BigNumberish, overrides?: CallOverrides): Promise<[TrancheInfoStructOutput]>; updateKsuEpochTokenPrice(overrides?: Overrides & { from?: string; }): Promise; userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(overrides?: CallOverrides): Promise<[boolean]>; }; clearingPeriodLength(overrides?: CallOverrides): Promise; currentEpochNumber(overrides?: CallOverrides): Promise; currentRequestEpoch(overrides?: CallOverrides): Promise; defaultTrancheInterestChangeEpochDelay(overrides?: CallOverrides): Promise; epochDuration(overrides?: CallOverrides): Promise; epochStartTimestamp(epoch: BigNumberish, overrides?: CallOverrides): Promise; feeRates(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { ecosystemFeeRate: BigNumber; protocolFeeRate: BigNumber; }>; isClearingTime(overrides?: CallOverrides): Promise; ksuEpochTokenPrice(overrides?: CallOverrides): Promise; loyaltyLevelsCount(overrides?: CallOverrides): Promise; loyaltyThresholds(overrides?: CallOverrides): Promise; maxTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; maxTrancheInterestRate(overrides?: CallOverrides): Promise; minTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; nextEpochStartTimestamp(overrides?: CallOverrides): Promise; performanceFee(overrides?: CallOverrides): Promise; priceUpdateEpoch(overrides?: CallOverrides): Promise; protocolFeeReceiver(overrides?: CallOverrides): Promise; setDefaultTrancheInterestChangeEpochDelay(defaultTrancheInterestChangeEpochDelay_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRates(ecosystemFeeRate: BigNumberish, protocolFeeRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setLoyaltyThresholds(loyaltyThresholds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; setMaxTrancheInterestRate(maxTrancheInterestRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPerformanceFee(performanceFee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setProtocolFeeReceiver(receiver: string, overrides?: Overrides & { from?: string; }): Promise; setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(value: boolean, overrides?: Overrides & { from?: string; }): Promise; trancheNameInfo(index: BigNumberish, overrides?: CallOverrides): Promise; updateKsuEpochTokenPrice(overrides?: Overrides & { from?: string; }): Promise; userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(overrides?: CallOverrides): Promise; callStatic: { clearingPeriodLength(overrides?: CallOverrides): Promise; currentEpochNumber(overrides?: CallOverrides): Promise; currentRequestEpoch(overrides?: CallOverrides): Promise; defaultTrancheInterestChangeEpochDelay(overrides?: CallOverrides): Promise; epochDuration(overrides?: CallOverrides): Promise; epochStartTimestamp(epoch: BigNumberish, overrides?: CallOverrides): Promise; feeRates(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { ecosystemFeeRate: BigNumber; protocolFeeRate: BigNumber; }>; isClearingTime(overrides?: CallOverrides): Promise; ksuEpochTokenPrice(overrides?: CallOverrides): Promise; loyaltyLevelsCount(overrides?: CallOverrides): Promise; loyaltyThresholds(overrides?: CallOverrides): Promise; maxTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; maxTrancheInterestRate(overrides?: CallOverrides): Promise; minTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; nextEpochStartTimestamp(overrides?: CallOverrides): Promise; performanceFee(overrides?: CallOverrides): Promise; priceUpdateEpoch(overrides?: CallOverrides): Promise; protocolFeeReceiver(overrides?: CallOverrides): Promise; setDefaultTrancheInterestChangeEpochDelay(defaultTrancheInterestChangeEpochDelay_: BigNumberish, overrides?: CallOverrides): Promise; setFeeRates(ecosystemFeeRate: BigNumberish, protocolFeeRate: BigNumberish, overrides?: CallOverrides): Promise; setLoyaltyThresholds(loyaltyThresholds: BigNumberish[], overrides?: CallOverrides): Promise; setMaxTrancheInterestRate(maxTrancheInterestRate_: BigNumberish, overrides?: CallOverrides): Promise; setPerformanceFee(performanceFee: BigNumberish, overrides?: CallOverrides): Promise; setProtocolFeeReceiver(receiver: string, overrides?: CallOverrides): Promise; setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(value: boolean, overrides?: CallOverrides): Promise; trancheNameInfo(index: BigNumberish, overrides?: CallOverrides): Promise; updateKsuEpochTokenPrice(overrides?: CallOverrides): Promise; userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(overrides?: CallOverrides): Promise; }; filters: { "KsuTokenPriceUpdated(uint256,uint256)"(epoch?: BigNumberish | null, ksuTokenPrice?: null): KsuTokenPriceUpdatedEventFilter; KsuTokenPriceUpdated(epoch?: BigNumberish | null, ksuTokenPrice?: null): KsuTokenPriceUpdatedEventFilter; "PerformanceFeeUpdated(uint256)"(performanceFee?: null): PerformanceFeeUpdatedEventFilter; PerformanceFeeUpdated(performanceFee?: null): PerformanceFeeUpdatedEventFilter; }; estimateGas: { clearingPeriodLength(overrides?: CallOverrides): Promise; currentEpochNumber(overrides?: CallOverrides): Promise; currentRequestEpoch(overrides?: CallOverrides): Promise; defaultTrancheInterestChangeEpochDelay(overrides?: CallOverrides): Promise; epochDuration(overrides?: CallOverrides): Promise; epochStartTimestamp(epoch: BigNumberish, overrides?: CallOverrides): Promise; feeRates(overrides?: CallOverrides): Promise; isClearingTime(overrides?: CallOverrides): Promise; ksuEpochTokenPrice(overrides?: CallOverrides): Promise; loyaltyLevelsCount(overrides?: CallOverrides): Promise; loyaltyThresholds(overrides?: CallOverrides): Promise; maxTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; maxTrancheInterestRate(overrides?: CallOverrides): Promise; minTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; nextEpochStartTimestamp(overrides?: CallOverrides): Promise; performanceFee(overrides?: CallOverrides): Promise; priceUpdateEpoch(overrides?: CallOverrides): Promise; protocolFeeReceiver(overrides?: CallOverrides): Promise; setDefaultTrancheInterestChangeEpochDelay(defaultTrancheInterestChangeEpochDelay_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRates(ecosystemFeeRate: BigNumberish, protocolFeeRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setLoyaltyThresholds(loyaltyThresholds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; setMaxTrancheInterestRate(maxTrancheInterestRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPerformanceFee(performanceFee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setProtocolFeeReceiver(receiver: string, overrides?: Overrides & { from?: string; }): Promise; setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(value: boolean, overrides?: Overrides & { from?: string; }): Promise; trancheNameInfo(index: BigNumberish, overrides?: CallOverrides): Promise; updateKsuEpochTokenPrice(overrides?: Overrides & { from?: string; }): Promise; userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(overrides?: CallOverrides): Promise; }; populateTransaction: { clearingPeriodLength(overrides?: CallOverrides): Promise; currentEpochNumber(overrides?: CallOverrides): Promise; currentRequestEpoch(overrides?: CallOverrides): Promise; defaultTrancheInterestChangeEpochDelay(overrides?: CallOverrides): Promise; epochDuration(overrides?: CallOverrides): Promise; epochStartTimestamp(epoch: BigNumberish, overrides?: CallOverrides): Promise; feeRates(overrides?: CallOverrides): Promise; isClearingTime(overrides?: CallOverrides): Promise; ksuEpochTokenPrice(overrides?: CallOverrides): Promise; loyaltyLevelsCount(overrides?: CallOverrides): Promise; loyaltyThresholds(overrides?: CallOverrides): Promise; maxTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; maxTrancheInterestRate(overrides?: CallOverrides): Promise; minTrancheCountPerLendingPool(overrides?: CallOverrides): Promise; nextEpochStartTimestamp(overrides?: CallOverrides): Promise; performanceFee(overrides?: CallOverrides): Promise; priceUpdateEpoch(overrides?: CallOverrides): Promise; protocolFeeReceiver(overrides?: CallOverrides): Promise; setDefaultTrancheInterestChangeEpochDelay(defaultTrancheInterestChangeEpochDelay_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setFeeRates(ecosystemFeeRate: BigNumberish, protocolFeeRate: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setLoyaltyThresholds(loyaltyThresholds: BigNumberish[], overrides?: Overrides & { from?: string; }): Promise; setMaxTrancheInterestRate(maxTrancheInterestRate_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setPerformanceFee(performanceFee: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setProtocolFeeReceiver(receiver: string, overrides?: Overrides & { from?: string; }): Promise; setUserCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(value: boolean, overrides?: Overrides & { from?: string; }): Promise; trancheNameInfo(index: BigNumberish, overrides?: CallOverrides): Promise; updateKsuEpochTokenPrice(overrides?: Overrides & { from?: string; }): Promise; userCanOnlyDepositToJuniorTrancheWhenHeHasRKSU(overrides?: CallOverrides): Promise; }; }