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, PromiseOrValue } from "../common"; export interface CTokenInterface extends utils.Interface { functions: { "name()": FunctionFragment; "approve(address,uint256)": FunctionFragment; "repayBorrow(uint256)": FunctionFragment; "reserveFactorMantissa()": FunctionFragment; "borrowBalanceCurrent(address)": FunctionFragment; "totalSupply()": FunctionFragment; "exchangeRateStored()": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "repayBorrowBehalf(address,uint256)": FunctionFragment; "pendingAdmin()": FunctionFragment; "decimals()": FunctionFragment; "balanceOfUnderlying(address)": FunctionFragment; "getCash()": FunctionFragment; "_setComptroller(address)": FunctionFragment; "totalBorrows()": FunctionFragment; "comptroller()": FunctionFragment; "_reduceReserves(uint256)": FunctionFragment; "initialExchangeRateMantissa()": FunctionFragment; "accrualBlockNumber()": FunctionFragment; "underlying()": FunctionFragment; "balanceOf(address)": FunctionFragment; "totalBorrowsCurrent()": FunctionFragment; "redeemUnderlying(uint256)": FunctionFragment; "totalReserves()": FunctionFragment; "symbol()": FunctionFragment; "borrowBalanceStored(address)": FunctionFragment; "mint(uint256)": FunctionFragment; "accrueInterest()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "borrowIndex()": FunctionFragment; "supplyRatePerBlock()": FunctionFragment; "seize(address,address,uint256)": FunctionFragment; "_setPendingAdmin(address)": FunctionFragment; "exchangeRateCurrent()": FunctionFragment; "getAccountSnapshot(address)": FunctionFragment; "borrow(uint256)": FunctionFragment; "redeem(uint256)": FunctionFragment; "allowance(address,address)": FunctionFragment; "_acceptAdmin()": FunctionFragment; "_setInterestRateModel(address)": FunctionFragment; "interestRateModel()": FunctionFragment; "liquidateBorrow(address,uint256,address)": FunctionFragment; "admin()": FunctionFragment; "borrowRatePerBlock()": FunctionFragment; "_setReserveFactor(uint256)": FunctionFragment; "isCToken()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "name" | "approve" | "repayBorrow" | "reserveFactorMantissa" | "borrowBalanceCurrent" | "totalSupply" | "exchangeRateStored" | "transferFrom" | "repayBorrowBehalf" | "pendingAdmin" | "decimals" | "balanceOfUnderlying" | "getCash" | "_setComptroller" | "totalBorrows" | "comptroller" | "_reduceReserves" | "initialExchangeRateMantissa" | "accrualBlockNumber" | "underlying" | "balanceOf" | "totalBorrowsCurrent" | "redeemUnderlying" | "totalReserves" | "symbol" | "borrowBalanceStored" | "mint" | "accrueInterest" | "transfer" | "borrowIndex" | "supplyRatePerBlock" | "seize" | "_setPendingAdmin" | "exchangeRateCurrent" | "getAccountSnapshot" | "borrow" | "redeem" | "allowance" | "_acceptAdmin" | "_setInterestRateModel" | "interestRateModel" | "liquidateBorrow" | "admin" | "borrowRatePerBlock" | "_setReserveFactor" | "isCToken"): FunctionFragment; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "approve", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "repayBorrow", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "reserveFactorMantissa", values?: undefined): string; encodeFunctionData(functionFragment: "borrowBalanceCurrent", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "exchangeRateStored", values?: undefined): string; encodeFunctionData(functionFragment: "transferFrom", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "repayBorrowBehalf", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "pendingAdmin", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOfUnderlying", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "getCash", values?: undefined): string; encodeFunctionData(functionFragment: "_setComptroller", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "totalBorrows", values?: undefined): string; encodeFunctionData(functionFragment: "comptroller", values?: undefined): string; encodeFunctionData(functionFragment: "_reduceReserves", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "initialExchangeRateMantissa", values?: undefined): string; encodeFunctionData(functionFragment: "accrualBlockNumber", values?: undefined): string; encodeFunctionData(functionFragment: "underlying", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "totalBorrowsCurrent", values?: undefined): string; encodeFunctionData(functionFragment: "redeemUnderlying", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "totalReserves", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "borrowBalanceStored", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "mint", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "accrueInterest", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "borrowIndex", values?: undefined): string; encodeFunctionData(functionFragment: "supplyRatePerBlock", values?: undefined): string; encodeFunctionData(functionFragment: "seize", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "_setPendingAdmin", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "exchangeRateCurrent", values?: undefined): string; encodeFunctionData(functionFragment: "getAccountSnapshot", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "borrow", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "redeem", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "allowance", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string; encodeFunctionData(functionFragment: "_setInterestRateModel", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "interestRateModel", values?: undefined): string; encodeFunctionData(functionFragment: "liquidateBorrow", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ]): string; encodeFunctionData(functionFragment: "admin", values?: undefined): string; encodeFunctionData(functionFragment: "borrowRatePerBlock", values?: undefined): string; encodeFunctionData(functionFragment: "_setReserveFactor", values: [PromiseOrValue]): string; encodeFunctionData(functionFragment: "isCToken", values?: undefined): string; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayBorrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "reserveFactorMantissa", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowBalanceCurrent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchangeRateStored", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repayBorrowBehalf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOfUnderlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCash", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setComptroller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalBorrows", data: BytesLike): Result; decodeFunctionResult(functionFragment: "comptroller", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_reduceReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialExchangeRateMantissa", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accrualBlockNumber", data: BytesLike): Result; decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalBorrowsCurrent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeemUnderlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowBalanceStored", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accrueInterest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyRatePerBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "seize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exchangeRateCurrent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAccountSnapshot", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_acceptAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setInterestRateModel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "interestRateModel", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidateBorrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowRatePerBlock", data: BytesLike): Result; decodeFunctionResult(functionFragment: "_setReserveFactor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isCToken", data: BytesLike): Result; events: { "AccrueInterest(uint256,uint256,uint256)": EventFragment; "Mint(address,uint256,uint256)": EventFragment; "Redeem(address,uint256,uint256)": EventFragment; "Borrow(address,uint256,uint256,uint256)": EventFragment; "RepayBorrow(address,address,uint256,uint256,uint256)": EventFragment; "LiquidateBorrow(address,address,uint256,address,uint256)": EventFragment; "NewPendingAdmin(address,address)": EventFragment; "NewAdmin(address,address)": EventFragment; "NewComptroller(address,address)": EventFragment; "NewMarketInterestRateModel(address,address)": EventFragment; "NewReserveFactor(uint256,uint256)": EventFragment; "ReservesReduced(address,uint256,uint256)": EventFragment; "Failure(uint256,uint256,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; "Approval(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AccrueInterest"): EventFragment; getEvent(nameOrSignatureOrTopic: "Mint"): EventFragment; getEvent(nameOrSignatureOrTopic: "Redeem"): EventFragment; getEvent(nameOrSignatureOrTopic: "Borrow"): EventFragment; getEvent(nameOrSignatureOrTopic: "RepayBorrow"): EventFragment; getEvent(nameOrSignatureOrTopic: "LiquidateBorrow"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewPendingAdmin"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewAdmin"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewComptroller"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewMarketInterestRateModel"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewReserveFactor"): EventFragment; getEvent(nameOrSignatureOrTopic: "ReservesReduced"): EventFragment; getEvent(nameOrSignatureOrTopic: "Failure"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; } export interface AccrueInterestEventObject { interestAccumulated: BigNumber; borrowIndex: BigNumber; totalBorrows: BigNumber; } export type AccrueInterestEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber ], AccrueInterestEventObject>; export type AccrueInterestEventFilter = TypedEventFilter; export interface MintEventObject { minter: string; mintAmount: BigNumber; mintTokens: BigNumber; } export type MintEvent = TypedEvent<[ string, BigNumber, BigNumber ], MintEventObject>; export type MintEventFilter = TypedEventFilter; export interface RedeemEventObject { redeemer: string; redeemAmount: BigNumber; redeemTokens: BigNumber; } export type RedeemEvent = TypedEvent<[ string, BigNumber, BigNumber ], RedeemEventObject>; export type RedeemEventFilter = TypedEventFilter; export interface BorrowEventObject { borrower: string; borrowAmount: BigNumber; accountBorrows: BigNumber; totalBorrows: BigNumber; } export type BorrowEvent = TypedEvent<[ string, BigNumber, BigNumber, BigNumber ], BorrowEventObject>; export type BorrowEventFilter = TypedEventFilter; export interface RepayBorrowEventObject { payer: string; borrower: string; repayAmount: BigNumber; accountBorrows: BigNumber; totalBorrows: BigNumber; } export type RepayBorrowEvent = TypedEvent<[ string, string, BigNumber, BigNumber, BigNumber ], RepayBorrowEventObject>; export type RepayBorrowEventFilter = TypedEventFilter; export interface LiquidateBorrowEventObject { liquidator: string; borrower: string; repayAmount: BigNumber; cTokenCollateral: string; seizeTokens: BigNumber; } export type LiquidateBorrowEvent = TypedEvent<[ string, string, BigNumber, string, BigNumber ], LiquidateBorrowEventObject>; export type LiquidateBorrowEventFilter = TypedEventFilter; export interface NewPendingAdminEventObject { oldPendingAdmin: string; newPendingAdmin: string; } export type NewPendingAdminEvent = TypedEvent<[ string, string ], NewPendingAdminEventObject>; export type NewPendingAdminEventFilter = TypedEventFilter; export interface NewAdminEventObject { oldAdmin: string; newAdmin: string; } export type NewAdminEvent = TypedEvent<[string, string], NewAdminEventObject>; export type NewAdminEventFilter = TypedEventFilter; export interface NewComptrollerEventObject { oldComptroller: string; newComptroller: string; } export type NewComptrollerEvent = TypedEvent<[ string, string ], NewComptrollerEventObject>; export type NewComptrollerEventFilter = TypedEventFilter; export interface NewMarketInterestRateModelEventObject { oldInterestRateModel: string; newInterestRateModel: string; } export type NewMarketInterestRateModelEvent = TypedEvent<[ string, string ], NewMarketInterestRateModelEventObject>; export type NewMarketInterestRateModelEventFilter = TypedEventFilter; export interface NewReserveFactorEventObject { oldReserveFactorMantissa: BigNumber; newReserveFactorMantissa: BigNumber; } export type NewReserveFactorEvent = TypedEvent<[ BigNumber, BigNumber ], NewReserveFactorEventObject>; export type NewReserveFactorEventFilter = TypedEventFilter; export interface ReservesReducedEventObject { admin: string; reduceAmount: BigNumber; newTotalReserves: BigNumber; } export type ReservesReducedEvent = TypedEvent<[ string, BigNumber, BigNumber ], ReservesReducedEventObject>; export type ReservesReducedEventFilter = TypedEventFilter; export interface FailureEventObject { error: BigNumber; info: BigNumber; detail: BigNumber; } export type FailureEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber ], FailureEventObject>; export type FailureEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; amount: BigNumber; } export type TransferEvent = TypedEvent<[ string, string, BigNumber ], TransferEventObject>; export type TransferEventFilter = TypedEventFilter; export interface ApprovalEventObject { owner: string; spender: string; amount: BigNumber; } export type ApprovalEvent = TypedEvent<[ string, string, BigNumber ], ApprovalEventObject>; export type ApprovalEventFilter = TypedEventFilter; export interface CToken extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: CTokenInterface; 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: { name(overrides?: CallOverrides): Promise<[string]>; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrow(repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise<[BigNumber]>; borrowBalanceCurrent(account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; exchangeRateStored(overrides?: CallOverrides): Promise<[BigNumber]>; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrowBehalf(borrower: PromiseOrValue, repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pendingAdmin(overrides?: CallOverrides): Promise<[string]>; decimals(overrides?: CallOverrides): Promise<[BigNumber]>; balanceOfUnderlying(owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getCash(overrides?: CallOverrides): Promise<[BigNumber]>; _setComptroller(newComptroller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalBorrows(overrides?: CallOverrides): Promise<[BigNumber]>; comptroller(overrides?: CallOverrides): Promise<[string]>; _reduceReserves(reduceAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialExchangeRateMantissa(overrides?: CallOverrides): Promise<[BigNumber]>; accrualBlockNumber(overrides?: CallOverrides): Promise<[BigNumber]>; underlying(overrides?: CallOverrides): Promise<[string]>; balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; totalBorrowsCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeemUnderlying(redeemAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalReserves(overrides?: CallOverrides): Promise<[BigNumber]>; symbol(overrides?: CallOverrides): Promise<[string]>; borrowBalanceStored(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; accrueInterest(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transfer(dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrowIndex(overrides?: CallOverrides): Promise<[BigNumber]>; supplyRatePerBlock(overrides?: CallOverrides): Promise<[BigNumber]>; seize(liquidator: PromiseOrValue, borrower: PromiseOrValue, seizeTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setPendingAdmin(newPendingAdmin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAccountSnapshot(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber, BigNumber, BigNumber]>; borrow(borrowAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeem(redeemTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; _acceptAdmin(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setInterestRateModel(newInterestRateModel: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; interestRateModel(overrides?: CallOverrides): Promise<[string]>; liquidateBorrow(borrower: PromiseOrValue, repayAmount: PromiseOrValue, cTokenCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; admin(overrides?: CallOverrides): Promise<[string]>; borrowRatePerBlock(overrides?: CallOverrides): Promise<[BigNumber]>; _setReserveFactor(newReserveFactorMantissa: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isCToken(overrides?: CallOverrides): Promise<[boolean]>; }; name(overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrow(repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; borrowBalanceCurrent(account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrowBehalf(borrower: PromiseOrValue, repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pendingAdmin(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getCash(overrides?: CallOverrides): Promise; _setComptroller(newComptroller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalBorrows(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; _reduceReserves(reduceAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialExchangeRateMantissa(overrides?: CallOverrides): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; underlying(overrides?: CallOverrides): Promise; balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeemUnderlying(redeemAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalReserves(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; borrowBalanceStored(account: PromiseOrValue, overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; accrueInterest(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transfer(dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrowIndex(overrides?: CallOverrides): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; seize(liquidator: PromiseOrValue, borrower: PromiseOrValue, seizeTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setPendingAdmin(newPendingAdmin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAccountSnapshot(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber, BigNumber, BigNumber]>; borrow(borrowAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeem(redeemTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setInterestRateModel(newInterestRateModel: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; interestRateModel(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: PromiseOrValue, repayAmount: PromiseOrValue, cTokenCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; admin(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; _setReserveFactor(newReserveFactorMantissa: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isCToken(overrides?: CallOverrides): Promise; callStatic: { name(overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; repayBorrow(repayAmount: PromiseOrValue, overrides?: CallOverrides): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; borrowBalanceCurrent(account: PromiseOrValue, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; repayBorrowBehalf(borrower: PromiseOrValue, repayAmount: PromiseOrValue, overrides?: CallOverrides): Promise; pendingAdmin(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: PromiseOrValue, overrides?: CallOverrides): Promise; getCash(overrides?: CallOverrides): Promise; _setComptroller(newComptroller: PromiseOrValue, overrides?: CallOverrides): Promise; totalBorrows(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; _reduceReserves(reduceAmount: PromiseOrValue, overrides?: CallOverrides): Promise; initialExchangeRateMantissa(overrides?: CallOverrides): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; underlying(overrides?: CallOverrides): Promise; balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: CallOverrides): Promise; redeemUnderlying(redeemAmount: PromiseOrValue, overrides?: CallOverrides): Promise; totalReserves(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; borrowBalanceStored(account: PromiseOrValue, overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: CallOverrides): Promise; accrueInterest(overrides?: CallOverrides): Promise; transfer(dst: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides): Promise; borrowIndex(overrides?: CallOverrides): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; seize(liquidator: PromiseOrValue, borrower: PromiseOrValue, seizeTokens: PromiseOrValue, overrides?: CallOverrides): Promise; _setPendingAdmin(newPendingAdmin: PromiseOrValue, overrides?: CallOverrides): Promise; exchangeRateCurrent(overrides?: CallOverrides): Promise; getAccountSnapshot(account: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber, BigNumber, BigNumber, BigNumber]>; borrow(borrowAmount: PromiseOrValue, overrides?: CallOverrides): Promise; redeem(redeemTokens: PromiseOrValue, overrides?: CallOverrides): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: CallOverrides): Promise; _setInterestRateModel(newInterestRateModel: PromiseOrValue, overrides?: CallOverrides): Promise; interestRateModel(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: PromiseOrValue, repayAmount: PromiseOrValue, cTokenCollateral: PromiseOrValue, overrides?: CallOverrides): Promise; admin(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; _setReserveFactor(newReserveFactorMantissa: PromiseOrValue, overrides?: CallOverrides): Promise; isCToken(overrides?: CallOverrides): Promise; }; filters: { "AccrueInterest(uint256,uint256,uint256)"(interestAccumulated?: null, borrowIndex?: null, totalBorrows?: null): AccrueInterestEventFilter; AccrueInterest(interestAccumulated?: null, borrowIndex?: null, totalBorrows?: null): AccrueInterestEventFilter; "Mint(address,uint256,uint256)"(minter?: null, mintAmount?: null, mintTokens?: null): MintEventFilter; Mint(minter?: null, mintAmount?: null, mintTokens?: null): MintEventFilter; "Redeem(address,uint256,uint256)"(redeemer?: null, redeemAmount?: null, redeemTokens?: null): RedeemEventFilter; Redeem(redeemer?: null, redeemAmount?: null, redeemTokens?: null): RedeemEventFilter; "Borrow(address,uint256,uint256,uint256)"(borrower?: null, borrowAmount?: null, accountBorrows?: null, totalBorrows?: null): BorrowEventFilter; Borrow(borrower?: null, borrowAmount?: null, accountBorrows?: null, totalBorrows?: null): BorrowEventFilter; "RepayBorrow(address,address,uint256,uint256,uint256)"(payer?: null, borrower?: null, repayAmount?: null, accountBorrows?: null, totalBorrows?: null): RepayBorrowEventFilter; RepayBorrow(payer?: null, borrower?: null, repayAmount?: null, accountBorrows?: null, totalBorrows?: null): RepayBorrowEventFilter; "LiquidateBorrow(address,address,uint256,address,uint256)"(liquidator?: null, borrower?: null, repayAmount?: null, cTokenCollateral?: null, seizeTokens?: null): LiquidateBorrowEventFilter; LiquidateBorrow(liquidator?: null, borrower?: null, repayAmount?: null, cTokenCollateral?: null, seizeTokens?: null): LiquidateBorrowEventFilter; "NewPendingAdmin(address,address)"(oldPendingAdmin?: null, newPendingAdmin?: null): NewPendingAdminEventFilter; NewPendingAdmin(oldPendingAdmin?: null, newPendingAdmin?: null): NewPendingAdminEventFilter; "NewAdmin(address,address)"(oldAdmin?: null, newAdmin?: null): NewAdminEventFilter; NewAdmin(oldAdmin?: null, newAdmin?: null): NewAdminEventFilter; "NewComptroller(address,address)"(oldComptroller?: null, newComptroller?: null): NewComptrollerEventFilter; NewComptroller(oldComptroller?: null, newComptroller?: null): NewComptrollerEventFilter; "NewMarketInterestRateModel(address,address)"(oldInterestRateModel?: null, newInterestRateModel?: null): NewMarketInterestRateModelEventFilter; NewMarketInterestRateModel(oldInterestRateModel?: null, newInterestRateModel?: null): NewMarketInterestRateModelEventFilter; "NewReserveFactor(uint256,uint256)"(oldReserveFactorMantissa?: null, newReserveFactorMantissa?: null): NewReserveFactorEventFilter; NewReserveFactor(oldReserveFactorMantissa?: null, newReserveFactorMantissa?: null): NewReserveFactorEventFilter; "ReservesReduced(address,uint256,uint256)"(admin?: null, reduceAmount?: null, newTotalReserves?: null): ReservesReducedEventFilter; ReservesReduced(admin?: null, reduceAmount?: null, newTotalReserves?: null): ReservesReducedEventFilter; "Failure(uint256,uint256,uint256)"(error?: null, info?: null, detail?: null): FailureEventFilter; Failure(error?: null, info?: null, detail?: null): FailureEventFilter; "Transfer(address,address,uint256)"(from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null): TransferEventFilter; Transfer(from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null): TransferEventFilter; "Approval(address,address,uint256)"(owner?: PromiseOrValue | null, spender?: PromiseOrValue | null, amount?: null): ApprovalEventFilter; Approval(owner?: PromiseOrValue | null, spender?: PromiseOrValue | null, amount?: null): ApprovalEventFilter; }; estimateGas: { name(overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrow(repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; borrowBalanceCurrent(account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrowBehalf(borrower: PromiseOrValue, repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pendingAdmin(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getCash(overrides?: CallOverrides): Promise; _setComptroller(newComptroller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalBorrows(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; _reduceReserves(reduceAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialExchangeRateMantissa(overrides?: CallOverrides): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; underlying(overrides?: CallOverrides): Promise; balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeemUnderlying(redeemAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalReserves(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; borrowBalanceStored(account: PromiseOrValue, overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; accrueInterest(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transfer(dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrowIndex(overrides?: CallOverrides): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; seize(liquidator: PromiseOrValue, borrower: PromiseOrValue, seizeTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setPendingAdmin(newPendingAdmin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAccountSnapshot(account: PromiseOrValue, overrides?: CallOverrides): Promise; borrow(borrowAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeem(redeemTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setInterestRateModel(newInterestRateModel: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; interestRateModel(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: PromiseOrValue, repayAmount: PromiseOrValue, cTokenCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; admin(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; _setReserveFactor(newReserveFactorMantissa: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isCToken(overrides?: CallOverrides): Promise; }; populateTransaction: { name(overrides?: CallOverrides): Promise; approve(spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrow(repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; borrowBalanceCurrent(account: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalSupply(overrides?: CallOverrides): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; transferFrom(src: PromiseOrValue, dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; repayBorrowBehalf(borrower: PromiseOrValue, repayAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; pendingAdmin(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getCash(overrides?: CallOverrides): Promise; _setComptroller(newComptroller: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalBorrows(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; _reduceReserves(reduceAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; initialExchangeRateMantissa(overrides?: CallOverrides): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; underlying(overrides?: CallOverrides): Promise; balanceOf(owner: PromiseOrValue, overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeemUnderlying(redeemAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; totalReserves(overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; borrowBalanceStored(account: PromiseOrValue, overrides?: CallOverrides): Promise; mint(mintAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; accrueInterest(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; transfer(dst: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; borrowIndex(overrides?: CallOverrides): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; seize(liquidator: PromiseOrValue, borrower: PromiseOrValue, seizeTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setPendingAdmin(newPendingAdmin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; getAccountSnapshot(account: PromiseOrValue, overrides?: CallOverrides): Promise; borrow(borrowAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; redeem(redeemTokens: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; allowance(owner: PromiseOrValue, spender: PromiseOrValue, overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: Overrides & { from?: PromiseOrValue; }): Promise; _setInterestRateModel(newInterestRateModel: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; interestRateModel(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: PromiseOrValue, repayAmount: PromiseOrValue, cTokenCollateral: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; admin(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; _setReserveFactor(newReserveFactorMantissa: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; isCToken(overrides?: CallOverrides): Promise; }; }