import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "./common"; export declare type TokenBalanceStruct = { token: PromiseOrValue; balance: PromiseOrValue; isAllowed: PromiseOrValue; isEnabled: PromiseOrValue; }; export declare type TokenBalanceStructOutput = [string, BigNumber, boolean, boolean] & { token: string; balance: BigNumber; isAllowed: boolean; isEnabled: boolean; }; export declare type CreditAccountDataStruct = { addr: PromiseOrValue; borrower: PromiseOrValue; inUse: PromiseOrValue; creditManager: PromiseOrValue; underlying: PromiseOrValue; borrowedAmountPlusInterest: PromiseOrValue; borrowedAmountPlusInterestAndFees: PromiseOrValue; totalValue: PromiseOrValue; healthFactor: PromiseOrValue; borrowRate: PromiseOrValue; balances: TokenBalanceStruct[]; repayAmount: PromiseOrValue; liquidationAmount: PromiseOrValue; canBeClosed: PromiseOrValue; borrowedAmount: PromiseOrValue; cumulativeIndexAtOpen: PromiseOrValue; since: PromiseOrValue; version: PromiseOrValue; enabledTokenMask: PromiseOrValue; }; export declare type CreditAccountDataStructOutput = [ string, string, boolean, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, TokenBalanceStructOutput[], BigNumber, BigNumber, boolean, BigNumber, BigNumber, BigNumber, number, BigNumber ] & { addr: string; borrower: string; inUse: boolean; creditManager: string; underlying: string; borrowedAmountPlusInterest: BigNumber; borrowedAmountPlusInterestAndFees: BigNumber; totalValue: BigNumber; healthFactor: BigNumber; borrowRate: BigNumber; balances: TokenBalanceStructOutput[]; repayAmount: BigNumber; liquidationAmount: BigNumber; canBeClosed: boolean; borrowedAmount: BigNumber; cumulativeIndexAtOpen: BigNumber; since: BigNumber; version: number; enabledTokenMask: BigNumber; }; export declare type ContractAdapterStruct = { allowedContract: PromiseOrValue; adapter: PromiseOrValue; }; export declare type ContractAdapterStructOutput = [string, string] & { allowedContract: string; adapter: string; }; export declare type CreditManagerDataStruct = { addr: PromiseOrValue; underlying: PromiseOrValue; pool: PromiseOrValue; isWETH: PromiseOrValue; canBorrow: PromiseOrValue; borrowRate: PromiseOrValue; minAmount: PromiseOrValue; maxAmount: PromiseOrValue; maxLeverageFactor: PromiseOrValue; availableLiquidity: PromiseOrValue; collateralTokens: PromiseOrValue[]; adapters: ContractAdapterStruct[]; liquidationThresholds: PromiseOrValue[]; version: PromiseOrValue; creditFacade: PromiseOrValue; creditConfigurator: PromiseOrValue; isDegenMode: PromiseOrValue; degenNFT: PromiseOrValue; isIncreaseDebtForbidden: PromiseOrValue; forbiddenTokenMask: PromiseOrValue; maxEnabledTokensLength: PromiseOrValue; feeInterest: PromiseOrValue; feeLiquidation: PromiseOrValue; liquidationDiscount: PromiseOrValue; feeLiquidationExpired: PromiseOrValue; liquidationDiscountExpired: PromiseOrValue; }; export declare type CreditManagerDataStructOutput = [ string, string, string, boolean, boolean, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string[], ContractAdapterStructOutput[], BigNumber[], number, string, string, boolean, string, boolean, BigNumber, number, number, number, number, number, number ] & { addr: string; underlying: string; pool: string; isWETH: boolean; canBorrow: boolean; borrowRate: BigNumber; minAmount: BigNumber; maxAmount: BigNumber; maxLeverageFactor: BigNumber; availableLiquidity: BigNumber; collateralTokens: string[]; adapters: ContractAdapterStructOutput[]; liquidationThresholds: BigNumber[]; version: number; creditFacade: string; creditConfigurator: string; isDegenMode: boolean; degenNFT: string; isIncreaseDebtForbidden: boolean; forbiddenTokenMask: BigNumber; maxEnabledTokensLength: number; feeInterest: number; feeLiquidation: number; liquidationDiscount: number; feeLiquidationExpired: number; liquidationDiscountExpired: number; }; export declare type PoolDataStruct = { addr: PromiseOrValue; isWETH: PromiseOrValue; underlying: PromiseOrValue; dieselToken: PromiseOrValue; linearCumulativeIndex: PromiseOrValue; availableLiquidity: PromiseOrValue; expectedLiquidity: PromiseOrValue; expectedLiquidityLimit: PromiseOrValue; totalBorrowed: PromiseOrValue; depositAPY_RAY: PromiseOrValue; borrowAPY_RAY: PromiseOrValue; dieselRate_RAY: PromiseOrValue; withdrawFee: PromiseOrValue; cumulativeIndex_RAY: PromiseOrValue; timestampLU: PromiseOrValue; version: PromiseOrValue; }; export declare type PoolDataStructOutput = [ string, boolean, string, string, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, number ] & { addr: string; isWETH: boolean; underlying: string; dieselToken: string; linearCumulativeIndex: BigNumber; availableLiquidity: BigNumber; expectedLiquidity: BigNumber; expectedLiquidityLimit: BigNumber; totalBorrowed: BigNumber; depositAPY_RAY: BigNumber; borrowAPY_RAY: BigNumber; dieselRate_RAY: BigNumber; withdrawFee: BigNumber; cumulativeIndex_RAY: BigNumber; timestampLU: BigNumber; version: number; }; export interface DataCompressorInterface extends utils.Interface { functions: { "WETHToken()": FunctionFragment; "addressProvider()": FunctionFragment; "contractsRegister()": FunctionFragment; "getAdapter(address,address)": FunctionFragment; "getCreditAccountData(address,address)": FunctionFragment; "getCreditAccountList(address)": FunctionFragment; "getCreditManagerData(address)": FunctionFragment; "getCreditManagersList()": FunctionFragment; "getPoolData(address)": FunctionFragment; "getPoolsList()": FunctionFragment; "hasOpenedCreditAccount(address,address)": FunctionFragment; "version()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "WETHToken" | "addressProvider" | "contractsRegister" | "getAdapter" | "getCreditAccountData" | "getCreditAccountList" | "getCreditManagerData" | "getCreditManagersList" | "getPoolData" | "getPoolsList" | "hasOpenedCreditAccount" | "version"): FunctionFragment; encodeFunctionData(functionFragment: "WETHToken", values?: undefined): string; encodeFunctionData(functionFragment: "addressProvider", values?: undefined): string; encodeFunctionData(functionFragment: "contractsRegister", values?: undefined): string; encodeFunctionData(functionFragment: "getAdapter", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "getCreditAccountData", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "getCreditAccountList", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getCreditManagerData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getCreditManagersList", values?: undefined): string; encodeFunctionData(functionFragment: "getPoolData", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getPoolsList", values?: undefined): string; encodeFunctionData(functionFragment: "hasOpenedCreditAccount", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; decodeFunctionResult(functionFragment: "WETHToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addressProvider", data: BytesLike): Result; decodeFunctionResult(functionFragment: "contractsRegister", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAdapter", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCreditAccountData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCreditAccountList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCreditManagerData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCreditManagersList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPoolsList", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasOpenedCreditAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; events: {}; } export interface DataCompressor extends BaseContract { contractName: "DataCompressor"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: DataCompressorInterface; 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: { WETHToken(overrides?: CallOverrides): Promise<[string]>; addressProvider(overrides?: CallOverrides): Promise<[string]>; contractsRegister(overrides?: CallOverrides): Promise<[string]>; getAdapter(_creditManager: PromiseOrValue, _allowedContract: PromiseOrValue, overrides?: CallOverrides): Promise<[string] & { adapter: string; }>; getCreditAccountData(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise<[ CreditAccountDataStructOutput ] & { result: CreditAccountDataStructOutput; }>; getCreditAccountList(borrower: PromiseOrValue, overrides?: CallOverrides): Promise<[ CreditAccountDataStructOutput[] ] & { result: CreditAccountDataStructOutput[]; }>; getCreditManagerData(_creditManager: PromiseOrValue, overrides?: CallOverrides): Promise<[ CreditManagerDataStructOutput ] & { result: CreditManagerDataStructOutput; }>; getCreditManagersList(overrides?: CallOverrides): Promise<[ CreditManagerDataStructOutput[] ] & { result: CreditManagerDataStructOutput[]; }>; getPoolData(_pool: PromiseOrValue, overrides?: CallOverrides): Promise<[PoolDataStructOutput] & { result: PoolDataStructOutput; }>; getPoolsList(overrides?: CallOverrides): Promise<[PoolDataStructOutput[]] & { result: PoolDataStructOutput[]; }>; hasOpenedCreditAccount(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise<[boolean]>; version(overrides?: CallOverrides): Promise<[BigNumber]>; }; WETHToken(overrides?: CallOverrides): Promise; addressProvider(overrides?: CallOverrides): Promise; contractsRegister(overrides?: CallOverrides): Promise; getAdapter(_creditManager: PromiseOrValue, _allowedContract: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountData(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountList(borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagerData(_creditManager: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagersList(overrides?: CallOverrides): Promise; getPoolData(_pool: PromiseOrValue, overrides?: CallOverrides): Promise; getPoolsList(overrides?: CallOverrides): Promise; hasOpenedCreditAccount(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; callStatic: { WETHToken(overrides?: CallOverrides): Promise; addressProvider(overrides?: CallOverrides): Promise; contractsRegister(overrides?: CallOverrides): Promise; getAdapter(_creditManager: PromiseOrValue, _allowedContract: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountData(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountList(borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagerData(_creditManager: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagersList(overrides?: CallOverrides): Promise; getPoolData(_pool: PromiseOrValue, overrides?: CallOverrides): Promise; getPoolsList(overrides?: CallOverrides): Promise; hasOpenedCreditAccount(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { WETHToken(overrides?: CallOverrides): Promise; addressProvider(overrides?: CallOverrides): Promise; contractsRegister(overrides?: CallOverrides): Promise; getAdapter(_creditManager: PromiseOrValue, _allowedContract: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountData(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountList(borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagerData(_creditManager: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagersList(overrides?: CallOverrides): Promise; getPoolData(_pool: PromiseOrValue, overrides?: CallOverrides): Promise; getPoolsList(overrides?: CallOverrides): Promise; hasOpenedCreditAccount(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; }; populateTransaction: { WETHToken(overrides?: CallOverrides): Promise; addressProvider(overrides?: CallOverrides): Promise; contractsRegister(overrides?: CallOverrides): Promise; getAdapter(_creditManager: PromiseOrValue, _allowedContract: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountData(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditAccountList(borrower: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagerData(_creditManager: PromiseOrValue, overrides?: CallOverrides): Promise; getCreditManagersList(overrides?: CallOverrides): Promise; getPoolData(_pool: PromiseOrValue, overrides?: CallOverrides): Promise; getPoolsList(overrides?: CallOverrides): Promise; hasOpenedCreditAccount(_creditManager: PromiseOrValue, borrower: PromiseOrValue, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; }; }