import { Signer } from "ethers"; import type { Provider } from "@ethersproject/providers"; import type { MorphoCompoundLens, MorphoCompoundLensInterface } from "../../compound/MorphoCompoundLens"; export declare class MorphoCompoundLens__factory { static readonly abi: readonly [{ readonly inputs: readonly []; readonly name: "CompoundOracleFailed"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidPoolToken"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "MAX_BASIS_POINTS"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "WAD"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "comptroller"; readonly outputs: readonly [{ readonly internalType: "contract IComptroller"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenBorrowedAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenCollateralAddress"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_updatedMarkets"; readonly type: "address[]"; }]; readonly name: "computeLiquidationRepayAmount"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "toRepay"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_borrower"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_balance"; readonly type: "uint256"; }]; readonly name: "getAccruedBorrowerComp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_supplier"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_balance"; readonly type: "uint256"; }]; readonly name: "getAccruedSupplierComp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getAdvancedMarketData"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "p2pSupplyIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pBorrowIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolSupplyIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolBorrowIndex"; readonly type: "uint256"; }, { readonly internalType: "uint32"; readonly name: "lastUpdateBlockNumber"; readonly type: "uint32"; }, { readonly internalType: "uint256"; readonly name: "p2pSupplyDelta"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pBorrowDelta"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getAllMarkets"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: "marketsCreated"; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getAverageBorrowRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "avgBorrowRatePerBlock"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pBorrowAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolBorrowAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getAverageSupplyRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "avgSupplyRatePerBlock"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pSupplyAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolSupplyAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }]; readonly name: "getCurrentBorrowBalanceInOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "balanceOnPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceInP2P"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBalance"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getCurrentCompBorrowIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getCurrentCompSupplyIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getCurrentP2PBorrowIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentP2PBorrowIndex"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getCurrentP2PSupplyIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentP2PSupplyIndex"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getCurrentPoolIndexes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "currentPoolSupplyIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "currentPoolBorrowIndex"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }]; readonly name: "getCurrentSupplyBalanceInOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "balanceOnPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceInP2P"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBalance"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }]; readonly name: "getCurrentUserBorrowRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }]; readonly name: "getCurrentUserSupplyRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }]; readonly name: "getEnteredMarkets"; readonly outputs: readonly [{ readonly internalType: "address[]"; readonly name: "enteredMarkets"; readonly type: "address[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_getUpdatedIndexes"; readonly type: "bool"; }]; readonly name: "getIndexes"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "newP2PSupplyIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "newP2PBorrowIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "newPoolSupplyIndex"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "newPoolBorrowIndex"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getMainMarketData"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "avgSupplyRatePerBlock"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "avgBorrowRatePerBlock"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pSupplyAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pBorrowAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolSupplyAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolBorrowAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getMarketConfiguration"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: "underlying"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "isCreated"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "p2pDisabled"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isPartiallyPaused"; readonly type: "bool"; }, { readonly internalType: "uint16"; readonly name: "reserveFactor"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "p2pIndexCursor"; readonly type: "uint16"; }, { readonly internalType: "uint256"; readonly name: "collateralFactor"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolToken"; readonly type: "address"; }]; readonly name: "getMarketPauseStatus"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "bool"; readonly name: "isSupplyPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isBorrowPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isWithdrawPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRepayPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isLiquidateCollateralPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isLiquidateBorrowPaused"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isDeprecated"; readonly type: "bool"; }]; readonly internalType: "struct Types.MarketPauseStatus"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "getNextUserBorrowRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "nextBorrowRatePerBlock"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceOnPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceInP2P"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBalance"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_amount"; readonly type: "uint256"; }]; readonly name: "getNextUserSupplyRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "nextSupplyRatePerBlock"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceOnPool"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "balanceInP2P"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBalance"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getRatesPerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "p2pSupplyRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "p2pBorrowRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolSupplyRate"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolBorrowRate"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getTotalBorrow"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "p2pBorrowAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolBorrowAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalBorrowAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getTotalMarketBorrow"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "p2pBorrowAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolBorrowAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getTotalMarketSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "p2pSupplyAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolSupplyAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getTotalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "p2pSupplyAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "poolSupplyAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "totalSupplyAmount"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_updatedMarkets"; readonly type: "address[]"; }]; readonly name: "getUserBalanceStates"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "collateralValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "debtValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxDebtValue"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_updatedMarkets"; readonly type: "address[]"; }]; readonly name: "getUserHealthFactor"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "_withdrawnAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "_borrowedAmount"; readonly type: "uint256"; }]; readonly name: "getUserHypotheticalBalanceStates"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "debtValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxDebtValue"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "_getUpdatedIndexes"; readonly type: "bool"; }, { readonly internalType: "contract ICompoundOracle"; readonly name: "_oracle"; readonly type: "address"; }]; readonly name: "getUserLiquidityDataForAsset"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "collateralValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxDebtValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "debtValue"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "underlyingPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "collateralFactor"; readonly type: "uint256"; }]; readonly internalType: "struct Types.AssetLiquidityData"; readonly name: "assetData"; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolTokenAddress"; readonly type: "address"; }]; readonly name: "getUserMaxCapacitiesForAsset"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "withdrawable"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "borrowable"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "_poolTokenAddresses"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }]; readonly name: "getUserUnclaimedRewards"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "unclaimedRewards"; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_morphoAddress"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "_poolToken"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_updatedMarkets"; readonly type: "address[]"; }]; readonly name: "isLiquidatable"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_user"; readonly type: "address"; }, { readonly internalType: "address[]"; readonly name: "_updatedMarkets"; readonly type: "address[]"; }]; readonly name: "isLiquidatable"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "morpho"; readonly outputs: readonly [{ readonly internalType: "contract IMorpho"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "rewardsManager"; readonly outputs: readonly [{ readonly internalType: "contract IRewardsManager"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }]; static createInterface(): MorphoCompoundLensInterface; static connect(address: string, signerOrProvider: Signer | Provider): MorphoCompoundLens; }