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 interface CEtherInterface extends Interface { getFunction(nameOrSignature: "NO_ERROR" | "_acceptAdmin" | "_addReserves" | "_reduceReserves" | "_setComptroller" | "_setInterestRateModel" | "_setPendingAdmin" | "_setReserveFactor" | "accrualBlockNumber" | "accrueInterest" | "admin" | "allowance" | "approve" | "balanceOf" | "balanceOfUnderlying" | "borrow" | "borrowBalanceCurrent" | "borrowBalanceStored" | "borrowIndex" | "borrowRatePerBlock" | "comptroller" | "decimals" | "exchangeRateCurrent" | "exchangeRateStored" | "getAccountSnapshot" | "getCash" | "initialize" | "interestRateModel" | "isCToken" | "liquidateBorrow" | "mint" | "name" | "pendingAdmin" | "protocolSeizeShareMantissa" | "redeem" | "redeemUnderlying" | "repayBorrow" | "repayBorrowBehalf" | "reserveFactorMantissa" | "seize" | "supplyRatePerBlock" | "symbol" | "totalBorrows" | "totalBorrowsCurrent" | "totalReserves" | "totalSupply" | "transfer" | "transferFrom"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AccrueInterest" | "Approval" | "Borrow" | "LiquidateBorrow" | "Mint" | "NewAdmin" | "NewComptroller" | "NewMarketInterestRateModel" | "NewPendingAdmin" | "NewReserveFactor" | "Redeem" | "RepayBorrow" | "ReservesAdded" | "ReservesReduced" | "Transfer"): EventFragment; encodeFunctionData(functionFragment: "NO_ERROR", values?: undefined): string; encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string; encodeFunctionData(functionFragment: "_addReserves", values?: undefined): string; encodeFunctionData(functionFragment: "_reduceReserves", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "_setComptroller", values: [AddressLike]): string; encodeFunctionData(functionFragment: "_setInterestRateModel", values: [AddressLike]): string; encodeFunctionData(functionFragment: "_setPendingAdmin", values: [AddressLike]): string; encodeFunctionData(functionFragment: "_setReserveFactor", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "accrualBlockNumber", values?: undefined): string; encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string; encodeFunctionData(functionFragment: "admin", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "balanceOfUnderlying", values: [AddressLike]): string; encodeFunctionData(functionFragment: "borrow", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "borrowBalanceCurrent", values: [AddressLike]): string; encodeFunctionData(functionFragment: "borrowBalanceStored", values: [AddressLike]): string; encodeFunctionData(functionFragment: "borrowIndex", values?: undefined): string; encodeFunctionData(functionFragment: "borrowRatePerBlock", values?: undefined): string; encodeFunctionData(functionFragment: "comptroller", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "exchangeRateCurrent", values?: undefined): string; encodeFunctionData(functionFragment: "exchangeRateStored", values?: undefined): string; encodeFunctionData(functionFragment: "getAccountSnapshot", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getCash", values?: undefined): string; encodeFunctionData(functionFragment: "initialize", values: [ AddressLike, AddressLike, BigNumberish, string, string, BigNumberish ]): string; encodeFunctionData(functionFragment: "interestRateModel", values?: undefined): string; encodeFunctionData(functionFragment: "isCToken", values?: undefined): string; encodeFunctionData(functionFragment: "liquidateBorrow", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "mint", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "pendingAdmin", values?: undefined): string; encodeFunctionData(functionFragment: "protocolSeizeShareMantissa", values?: undefined): string; encodeFunctionData(functionFragment: "redeem", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "redeemUnderlying", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "repayBorrow", values?: undefined): string; encodeFunctionData(functionFragment: "repayBorrowBehalf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "reserveFactorMantissa", values?: undefined): string; encodeFunctionData(functionFragment: "seize", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "supplyRatePerBlock", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalBorrows", values?: undefined): string; encodeFunctionData(functionFragment: "totalBorrowsCurrent", values?: undefined): string; encodeFunctionData(functionFragment: "totalReserves", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; decodeFunctionResult(functionFragment: "NO_ERROR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_acceptAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_addReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_reduceReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setComptroller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setInterestRateModel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setReserveFactor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accrualBlockNumber", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOfUnderlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowBalanceCurrent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowBalanceStored", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowRatePerBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchangeRateCurrent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchangeRateStored", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountSnapshot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "interestRateModel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isCToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidateBorrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "protocolSeizeShareMantissa", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeemUnderlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayBorrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayBorrowBehalf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reserveFactorMantissa", data: BytesLike): Result; decodeFunctionResult(functionFragment: "seize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyRatePerBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalBorrows", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalBorrowsCurrent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; } export declare namespace AccrueInterestEvent { type InputTuple = [ cashPrior: BigNumberish, interestAccumulated: BigNumberish, borrowIndex: BigNumberish, totalBorrows: BigNumberish ]; type OutputTuple = [ cashPrior: bigint, interestAccumulated: bigint, borrowIndex: bigint, totalBorrows: bigint ]; interface OutputObject { cashPrior: bigint; interestAccumulated: bigint; borrowIndex: bigint; totalBorrows: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ApprovalEvent { type InputTuple = [ owner: AddressLike, spender: AddressLike, amount: BigNumberish ]; type OutputTuple = [owner: string, spender: string, amount: bigint]; interface OutputObject { owner: string; spender: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BorrowEvent { type InputTuple = [ borrower: AddressLike, borrowAmount: BigNumberish, accountBorrows: BigNumberish, totalBorrows: BigNumberish ]; type OutputTuple = [ borrower: string, borrowAmount: bigint, accountBorrows: bigint, totalBorrows: bigint ]; interface OutputObject { borrower: string; borrowAmount: bigint; accountBorrows: bigint; totalBorrows: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace LiquidateBorrowEvent { type InputTuple = [ liquidator: AddressLike, borrower: AddressLike, repayAmount: BigNumberish, cTokenCollateral: AddressLike, seizeTokens: BigNumberish ]; type OutputTuple = [ liquidator: string, borrower: string, repayAmount: bigint, cTokenCollateral: string, seizeTokens: bigint ]; interface OutputObject { liquidator: string; borrower: string; repayAmount: bigint; cTokenCollateral: string; seizeTokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MintEvent { type InputTuple = [ minter: AddressLike, mintAmount: BigNumberish, mintTokens: BigNumberish ]; type OutputTuple = [ minter: string, mintAmount: bigint, mintTokens: bigint ]; interface OutputObject { minter: string; mintAmount: bigint; mintTokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewAdminEvent { type InputTuple = [oldAdmin: AddressLike, newAdmin: AddressLike]; type OutputTuple = [oldAdmin: string, newAdmin: string]; interface OutputObject { oldAdmin: string; newAdmin: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewComptrollerEvent { type InputTuple = [ oldComptroller: AddressLike, newComptroller: AddressLike ]; type OutputTuple = [oldComptroller: string, newComptroller: string]; interface OutputObject { oldComptroller: string; newComptroller: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewMarketInterestRateModelEvent { type InputTuple = [ oldInterestRateModel: AddressLike, newInterestRateModel: AddressLike ]; type OutputTuple = [ oldInterestRateModel: string, newInterestRateModel: string ]; interface OutputObject { oldInterestRateModel: string; newInterestRateModel: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewPendingAdminEvent { type InputTuple = [ oldPendingAdmin: AddressLike, newPendingAdmin: AddressLike ]; type OutputTuple = [oldPendingAdmin: string, newPendingAdmin: string]; interface OutputObject { oldPendingAdmin: string; newPendingAdmin: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace NewReserveFactorEvent { type InputTuple = [ oldReserveFactorMantissa: BigNumberish, newReserveFactorMantissa: BigNumberish ]; type OutputTuple = [ oldReserveFactorMantissa: bigint, newReserveFactorMantissa: bigint ]; interface OutputObject { oldReserveFactorMantissa: bigint; newReserveFactorMantissa: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RedeemEvent { type InputTuple = [ redeemer: AddressLike, redeemAmount: BigNumberish, redeemTokens: BigNumberish ]; type OutputTuple = [ redeemer: string, redeemAmount: bigint, redeemTokens: bigint ]; interface OutputObject { redeemer: string; redeemAmount: bigint; redeemTokens: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RepayBorrowEvent { type InputTuple = [ payer: AddressLike, borrower: AddressLike, repayAmount: BigNumberish, accountBorrows: BigNumberish, totalBorrows: BigNumberish ]; type OutputTuple = [ payer: string, borrower: string, repayAmount: bigint, accountBorrows: bigint, totalBorrows: bigint ]; interface OutputObject { payer: string; borrower: string; repayAmount: bigint; accountBorrows: bigint; totalBorrows: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ReservesAddedEvent { type InputTuple = [ benefactor: AddressLike, addAmount: BigNumberish, newTotalReserves: BigNumberish ]; type OutputTuple = [ benefactor: string, addAmount: bigint, newTotalReserves: bigint ]; interface OutputObject { benefactor: string; addAmount: bigint; newTotalReserves: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ReservesReducedEvent { type InputTuple = [ admin: AddressLike, reduceAmount: BigNumberish, newTotalReserves: BigNumberish ]; type OutputTuple = [ admin: string, reduceAmount: bigint, newTotalReserves: bigint ]; interface OutputObject { admin: string; reduceAmount: bigint; newTotalReserves: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TransferEvent { type InputTuple = [ from: AddressLike, to: AddressLike, amount: BigNumberish ]; type OutputTuple = [from: string, to: string, amount: bigint]; interface OutputObject { from: string; to: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface CEther extends BaseContract { connect(runner?: ContractRunner | null): CEther; waitForDeployment(): Promise; interface: CEtherInterface; 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; NO_ERROR: TypedContractMethod<[], [bigint], "view">; _acceptAdmin: TypedContractMethod<[], [bigint], "nonpayable">; _addReserves: TypedContractMethod<[], [bigint], "payable">; _reduceReserves: TypedContractMethod<[ reduceAmount: BigNumberish ], [ bigint ], "nonpayable">; _setComptroller: TypedContractMethod<[ newComptroller: AddressLike ], [ bigint ], "nonpayable">; _setInterestRateModel: TypedContractMethod<[ newInterestRateModel: AddressLike ], [ bigint ], "nonpayable">; _setPendingAdmin: TypedContractMethod<[ newPendingAdmin: AddressLike ], [ bigint ], "nonpayable">; _setReserveFactor: TypedContractMethod<[ newReserveFactorMantissa: BigNumberish ], [ bigint ], "nonpayable">; accrualBlockNumber: TypedContractMethod<[], [bigint], "view">; accrueInterest: TypedContractMethod<[], [bigint], "nonpayable">; admin: TypedContractMethod<[], [string], "view">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; balanceOf: TypedContractMethod<[owner: AddressLike], [bigint], "view">; balanceOfUnderlying: TypedContractMethod<[ owner: AddressLike ], [ bigint ], "nonpayable">; borrow: TypedContractMethod<[ borrowAmount: BigNumberish ], [ bigint ], "nonpayable">; borrowBalanceCurrent: TypedContractMethod<[ account: AddressLike ], [ bigint ], "nonpayable">; borrowBalanceStored: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; borrowIndex: TypedContractMethod<[], [bigint], "view">; borrowRatePerBlock: TypedContractMethod<[], [bigint], "view">; comptroller: TypedContractMethod<[], [string], "view">; decimals: TypedContractMethod<[], [bigint], "view">; exchangeRateCurrent: TypedContractMethod<[], [bigint], "nonpayable">; exchangeRateStored: TypedContractMethod<[], [bigint], "view">; getAccountSnapshot: TypedContractMethod<[ account: AddressLike ], [ [bigint, bigint, bigint, bigint] ], "view">; getCash: TypedContractMethod<[], [bigint], "view">; initialize: TypedContractMethod<[ comptroller_: AddressLike, interestRateModel_: AddressLike, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish ], [ void ], "nonpayable">; interestRateModel: TypedContractMethod<[], [string], "view">; isCToken: TypedContractMethod<[], [boolean], "view">; liquidateBorrow: TypedContractMethod<[ borrower: AddressLike, cTokenCollateral: AddressLike ], [ void ], "payable">; mint: TypedContractMethod<[], [void], "payable">; name: TypedContractMethod<[], [string], "view">; pendingAdmin: TypedContractMethod<[], [string], "view">; protocolSeizeShareMantissa: TypedContractMethod<[], [bigint], "view">; redeem: TypedContractMethod<[ redeemTokens: BigNumberish ], [ bigint ], "nonpayable">; redeemUnderlying: TypedContractMethod<[ redeemAmount: BigNumberish ], [ bigint ], "nonpayable">; repayBorrow: TypedContractMethod<[], [void], "payable">; repayBorrowBehalf: TypedContractMethod<[ borrower: AddressLike ], [ void ], "payable">; reserveFactorMantissa: TypedContractMethod<[], [bigint], "view">; seize: TypedContractMethod<[ liquidator: AddressLike, borrower: AddressLike, seizeTokens: BigNumberish ], [ bigint ], "nonpayable">; supplyRatePerBlock: TypedContractMethod<[], [bigint], "view">; symbol: TypedContractMethod<[], [string], "view">; totalBorrows: TypedContractMethod<[], [bigint], "view">; totalBorrowsCurrent: TypedContractMethod<[], [bigint], "nonpayable">; totalReserves: TypedContractMethod<[], [bigint], "view">; totalSupply: TypedContractMethod<[], [bigint], "view">; transfer: TypedContractMethod<[ dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ src: AddressLike, dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "NO_ERROR"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "_acceptAdmin"): TypedContractMethod<[], [bigint], "nonpayable">; getFunction(nameOrSignature: "_addReserves"): TypedContractMethod<[], [bigint], "payable">; getFunction(nameOrSignature: "_reduceReserves"): TypedContractMethod<[reduceAmount: BigNumberish], [bigint], "nonpayable">; getFunction(nameOrSignature: "_setComptroller"): TypedContractMethod<[newComptroller: AddressLike], [bigint], "nonpayable">; getFunction(nameOrSignature: "_setInterestRateModel"): TypedContractMethod<[ newInterestRateModel: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "_setPendingAdmin"): TypedContractMethod<[ newPendingAdmin: AddressLike ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "_setReserveFactor"): TypedContractMethod<[ newReserveFactorMantissa: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "accrualBlockNumber"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "accrueInterest"): TypedContractMethod<[], [bigint], "nonpayable">; getFunction(nameOrSignature: "admin"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[owner: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "balanceOfUnderlying"): TypedContractMethod<[owner: AddressLike], [bigint], "nonpayable">; getFunction(nameOrSignature: "borrow"): TypedContractMethod<[borrowAmount: BigNumberish], [bigint], "nonpayable">; getFunction(nameOrSignature: "borrowBalanceCurrent"): TypedContractMethod<[account: AddressLike], [bigint], "nonpayable">; getFunction(nameOrSignature: "borrowBalanceStored"): TypedContractMethod<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "borrowIndex"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "borrowRatePerBlock"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "comptroller"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "exchangeRateCurrent"): TypedContractMethod<[], [bigint], "nonpayable">; getFunction(nameOrSignature: "exchangeRateStored"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getAccountSnapshot"): TypedContractMethod<[ account: AddressLike ], [ [bigint, bigint, bigint, bigint] ], "view">; getFunction(nameOrSignature: "getCash"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[ comptroller_: AddressLike, interestRateModel_: AddressLike, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "interestRateModel"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "isCToken"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "liquidateBorrow"): TypedContractMethod<[ borrower: AddressLike, cTokenCollateral: AddressLike ], [ void ], "payable">; getFunction(nameOrSignature: "mint"): TypedContractMethod<[], [void], "payable">; getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "pendingAdmin"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "protocolSeizeShareMantissa"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "redeem"): TypedContractMethod<[redeemTokens: BigNumberish], [bigint], "nonpayable">; getFunction(nameOrSignature: "redeemUnderlying"): TypedContractMethod<[redeemAmount: BigNumberish], [bigint], "nonpayable">; getFunction(nameOrSignature: "repayBorrow"): TypedContractMethod<[], [void], "payable">; getFunction(nameOrSignature: "repayBorrowBehalf"): TypedContractMethod<[borrower: AddressLike], [void], "payable">; getFunction(nameOrSignature: "reserveFactorMantissa"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "seize"): TypedContractMethod<[ liquidator: AddressLike, borrower: AddressLike, seizeTokens: BigNumberish ], [ bigint ], "nonpayable">; getFunction(nameOrSignature: "supplyRatePerBlock"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "totalBorrows"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "totalBorrowsCurrent"): TypedContractMethod<[], [bigint], "nonpayable">; getFunction(nameOrSignature: "totalReserves"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ src: AddressLike, dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getEvent(key: "AccrueInterest"): TypedContractEvent; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Borrow"): TypedContractEvent; getEvent(key: "LiquidateBorrow"): TypedContractEvent; getEvent(key: "Mint"): TypedContractEvent; getEvent(key: "NewAdmin"): TypedContractEvent; getEvent(key: "NewComptroller"): TypedContractEvent; getEvent(key: "NewMarketInterestRateModel"): TypedContractEvent; getEvent(key: "NewPendingAdmin"): TypedContractEvent; getEvent(key: "NewReserveFactor"): TypedContractEvent; getEvent(key: "Redeem"): TypedContractEvent; getEvent(key: "RepayBorrow"): TypedContractEvent; getEvent(key: "ReservesAdded"): TypedContractEvent; getEvent(key: "ReservesReduced"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; filters: { "AccrueInterest(uint256,uint256,uint256,uint256)": TypedContractEvent; AccrueInterest: TypedContractEvent; "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Borrow(address,uint256,uint256,uint256)": TypedContractEvent; Borrow: TypedContractEvent; "LiquidateBorrow(address,address,uint256,address,uint256)": TypedContractEvent; LiquidateBorrow: TypedContractEvent; "Mint(address,uint256,uint256)": TypedContractEvent; Mint: TypedContractEvent; "NewAdmin(address,address)": TypedContractEvent; NewAdmin: TypedContractEvent; "NewComptroller(address,address)": TypedContractEvent; NewComptroller: TypedContractEvent; "NewMarketInterestRateModel(address,address)": TypedContractEvent; NewMarketInterestRateModel: TypedContractEvent; "NewPendingAdmin(address,address)": TypedContractEvent; NewPendingAdmin: TypedContractEvent; "NewReserveFactor(uint256,uint256)": TypedContractEvent; NewReserveFactor: TypedContractEvent; "Redeem(address,uint256,uint256)": TypedContractEvent; Redeem: TypedContractEvent; "RepayBorrow(address,address,uint256,uint256,uint256)": TypedContractEvent; RepayBorrow: TypedContractEvent; "ReservesAdded(address,uint256,uint256)": TypedContractEvent; ReservesAdded: TypedContractEvent; "ReservesReduced(address,uint256,uint256)": TypedContractEvent; ReservesReduced: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; }; }