import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; export interface CErc20ImmutableInterface extends utils.Interface { functions: { 'NO_ERROR()': FunctionFragment; '_acceptAdmin()': FunctionFragment; '_addReserves(uint256)': FunctionFragment; '_delegateCompLikeTo(address)': FunctionFragment; '_reduceReserves(uint256)': FunctionFragment; '_setComptroller(address)': FunctionFragment; '_setInterestRateModel(address)': FunctionFragment; '_setPendingAdmin(address)': FunctionFragment; '_setReserveFactor(uint256)': FunctionFragment; 'accrualBlockNumber()': FunctionFragment; 'accrueInterest()': FunctionFragment; 'admin()': FunctionFragment; 'allowance(address,address)': FunctionFragment; 'approve(address,uint256)': FunctionFragment; 'balanceOf(address)': FunctionFragment; 'balanceOfUnderlying(address)': FunctionFragment; 'borrow(uint256)': FunctionFragment; 'borrowBalanceCurrent(address)': FunctionFragment; 'borrowBalanceStored(address)': FunctionFragment; 'borrowIndex()': FunctionFragment; 'borrowRatePerBlock()': FunctionFragment; 'comptroller()': FunctionFragment; 'decimals()': FunctionFragment; 'exchangeRateCurrent()': FunctionFragment; 'exchangeRateStored()': FunctionFragment; 'getAccountSnapshot(address)': FunctionFragment; 'getCash()': FunctionFragment; 'initialize(address,address,address,uint256,string,string,uint8)': FunctionFragment; 'initialize(address,address,uint256,string,string,uint8)': FunctionFragment; 'interestRateModel()': FunctionFragment; 'isCToken()': FunctionFragment; 'liquidateBorrow(address,uint256,address)': FunctionFragment; 'mint(uint256)': FunctionFragment; 'name()': FunctionFragment; 'pendingAdmin()': FunctionFragment; 'protocolSeizeShareMantissa()': FunctionFragment; 'redeem(uint256)': FunctionFragment; 'redeemUnderlying(uint256)': FunctionFragment; 'repayBorrow(uint256)': FunctionFragment; 'repayBorrowBehalf(address,uint256)': FunctionFragment; 'reserveFactorMantissa()': FunctionFragment; 'seize(address,address,uint256)': FunctionFragment; 'supplyRatePerBlock()': FunctionFragment; 'sweepToken(address)': FunctionFragment; 'symbol()': FunctionFragment; 'totalBorrows()': FunctionFragment; 'totalBorrowsCurrent()': FunctionFragment; 'totalReserves()': FunctionFragment; 'totalSupply()': FunctionFragment; 'transfer(address,uint256)': FunctionFragment; 'transferFrom(address,address,uint256)': FunctionFragment; 'underlying()': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'NO_ERROR' | '_acceptAdmin' | '_addReserves' | '_delegateCompLikeTo' | '_reduceReserves' | '_setComptroller' | '_setInterestRateModel' | '_setPendingAdmin' | '_setReserveFactor' | 'accrualBlockNumber' | 'accrueInterest' | 'admin' | 'allowance' | 'approve' | 'balanceOf' | 'balanceOfUnderlying' | 'borrow' | 'borrowBalanceCurrent' | 'borrowBalanceStored' | 'borrowIndex' | 'borrowRatePerBlock' | 'comptroller' | 'decimals' | 'exchangeRateCurrent' | 'exchangeRateStored' | 'getAccountSnapshot' | 'getCash' | 'initialize(address,address,address,uint256,string,string,uint8)' | 'initialize(address,address,uint256,string,string,uint8)' | 'interestRateModel' | 'isCToken' | 'liquidateBorrow' | 'mint' | 'name' | 'pendingAdmin' | 'protocolSeizeShareMantissa' | 'redeem' | 'redeemUnderlying' | 'repayBorrow' | 'repayBorrowBehalf' | 'reserveFactorMantissa' | 'seize' | 'supplyRatePerBlock' | 'sweepToken' | 'symbol' | 'totalBorrows' | 'totalBorrowsCurrent' | 'totalReserves' | 'totalSupply' | 'transfer' | 'transferFrom' | 'underlying'): FunctionFragment; encodeFunctionData(functionFragment: 'NO_ERROR', values?: undefined): string; encodeFunctionData(functionFragment: '_acceptAdmin', values?: undefined): string; encodeFunctionData(functionFragment: '_addReserves', values: [BigNumberish]): string; encodeFunctionData(functionFragment: '_delegateCompLikeTo', values: [string]): string; encodeFunctionData(functionFragment: '_reduceReserves', values: [BigNumberish]): string; encodeFunctionData(functionFragment: '_setComptroller', values: [string]): string; encodeFunctionData(functionFragment: '_setInterestRateModel', values: [string]): string; encodeFunctionData(functionFragment: '_setPendingAdmin', values: [string]): 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: [string, string]): string; encodeFunctionData(functionFragment: 'approve', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'balanceOf', values: [string]): string; encodeFunctionData(functionFragment: 'balanceOfUnderlying', values: [string]): string; encodeFunctionData(functionFragment: 'borrow', values: [BigNumberish]): string; encodeFunctionData(functionFragment: 'borrowBalanceCurrent', values: [string]): string; encodeFunctionData(functionFragment: 'borrowBalanceStored', values: [string]): 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: [string]): string; encodeFunctionData(functionFragment: 'getCash', values?: undefined): string; encodeFunctionData(functionFragment: 'initialize(address,address,address,uint256,string,string,uint8)', values: [string, string, string, BigNumberish, string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'initialize(address,address,uint256,string,string,uint8)', values: [string, string, BigNumberish, string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'interestRateModel', values?: undefined): string; encodeFunctionData(functionFragment: 'isCToken', values?: undefined): string; encodeFunctionData(functionFragment: 'liquidateBorrow', values: [string, BigNumberish, string]): string; encodeFunctionData(functionFragment: 'mint', values: [BigNumberish]): 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: [BigNumberish]): string; encodeFunctionData(functionFragment: 'repayBorrowBehalf', values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'reserveFactorMantissa', values?: undefined): string; encodeFunctionData(functionFragment: 'seize', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'supplyRatePerBlock', values?: undefined): string; encodeFunctionData(functionFragment: 'sweepToken', values: [string]): 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: [string, BigNumberish]): string; encodeFunctionData(functionFragment: 'transferFrom', values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: 'underlying', values?: undefined): string; decodeFunctionResult(functionFragment: 'NO_ERROR', data: BytesLike): Result; decodeFunctionResult(functionFragment: '_acceptAdmin', data: BytesLike): Result; decodeFunctionResult(functionFragment: '_addReserves', data: BytesLike): Result; decodeFunctionResult(functionFragment: '_delegateCompLikeTo', 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(address,address,address,uint256,string,string,uint8)', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'initialize(address,address,uint256,string,string,uint8)', 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: 'sweepToken', 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; decodeFunctionResult(functionFragment: 'underlying', data: BytesLike): Result; events: { 'AccrueInterest(uint256,uint256,uint256,uint256)': EventFragment; 'Approval(address,address,uint256)': EventFragment; 'Borrow(address,uint256,uint256,uint256)': EventFragment; 'LiquidateBorrow(address,address,uint256,address,uint256)': EventFragment; 'Mint(address,uint256,uint256)': EventFragment; 'NewAdmin(address,address)': EventFragment; 'NewComptroller(address,address)': EventFragment; 'NewMarketInterestRateModel(address,address)': EventFragment; 'NewPendingAdmin(address,address)': EventFragment; 'NewReserveFactor(uint256,uint256)': EventFragment; 'Redeem(address,uint256,uint256)': EventFragment; 'RepayBorrow(address,address,uint256,uint256,uint256)': EventFragment; 'ReservesAdded(address,uint256,uint256)': EventFragment; 'ReservesReduced(address,uint256,uint256)': EventFragment; 'Transfer(address,address,uint256)': EventFragment; }; getEvent(nameOrSignatureOrTopic: 'AccrueInterest'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Borrow'): EventFragment; getEvent(nameOrSignatureOrTopic: 'LiquidateBorrow'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Mint'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NewAdmin'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NewComptroller'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NewMarketInterestRateModel'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NewPendingAdmin'): EventFragment; getEvent(nameOrSignatureOrTopic: 'NewReserveFactor'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Redeem'): EventFragment; getEvent(nameOrSignatureOrTopic: 'RepayBorrow'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ReservesAdded'): EventFragment; getEvent(nameOrSignatureOrTopic: 'ReservesReduced'): EventFragment; getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment; } export interface AccrueInterestEventObject { cashPrior: BigNumber; interestAccumulated: BigNumber; borrowIndex: BigNumber; totalBorrows: BigNumber; } export type AccrueInterestEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], AccrueInterestEventObject>; export type AccrueInterestEventFilter = TypedEventFilter; export interface ApprovalEventObject { owner: string; spender: string; amount: BigNumber; } export type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>; export type ApprovalEventFilter = 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 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 MintEventObject { minter: string; mintAmount: BigNumber; mintTokens: BigNumber; } export type MintEvent = TypedEvent<[string, BigNumber, BigNumber], MintEventObject>; export type MintEventFilter = 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 NewPendingAdminEventObject { oldPendingAdmin: string; newPendingAdmin: string; } export type NewPendingAdminEvent = TypedEvent<[string, string], NewPendingAdminEventObject>; export type NewPendingAdminEventFilter = TypedEventFilter; export interface NewReserveFactorEventObject { oldReserveFactorMantissa: BigNumber; newReserveFactorMantissa: BigNumber; } export type NewReserveFactorEvent = TypedEvent<[BigNumber, BigNumber], NewReserveFactorEventObject>; export type NewReserveFactorEventFilter = TypedEventFilter; export interface RedeemEventObject { redeemer: string; redeemAmount: BigNumber; redeemTokens: BigNumber; } export type RedeemEvent = TypedEvent<[string, BigNumber, BigNumber], RedeemEventObject>; export type RedeemEventFilter = 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 ReservesAddedEventObject { benefactor: string; addAmount: BigNumber; newTotalReserves: BigNumber; } export type ReservesAddedEvent = TypedEvent<[string, BigNumber, BigNumber], ReservesAddedEventObject>; export type ReservesAddedEventFilter = TypedEventFilter; export interface ReservesReducedEventObject { admin: string; reduceAmount: BigNumber; newTotalReserves: BigNumber; } export type ReservesReducedEvent = TypedEvent<[string, BigNumber, BigNumber], ReservesReducedEventObject>; export type ReservesReducedEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; amount: BigNumber; } export type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>; export type TransferEventFilter = TypedEventFilter; export interface CErc20Immutable extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: CErc20ImmutableInterface; 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: { NO_ERROR(overrides?: CallOverrides): Promise<[BigNumber]>; _acceptAdmin(overrides?: Overrides & { from?: string; }): Promise; _addReserves(addAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _delegateCompLikeTo(compLikeDelegatee: string, overrides?: Overrides & { from?: string; }): Promise; _reduceReserves(reduceAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _setComptroller(newComptroller: string, overrides?: Overrides & { from?: string; }): Promise; _setInterestRateModel(newInterestRateModel: string, overrides?: Overrides & { from?: string; }): Promise; _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & { from?: string; }): Promise; _setReserveFactor(newReserveFactorMantissa: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise<[BigNumber]>; accrueInterest(overrides?: Overrides & { from?: string; }): Promise; admin(overrides?: CallOverrides): Promise<[string]>; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise<[BigNumber]>; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; balanceOfUnderlying(owner: string, overrides?: Overrides & { from?: string; }): Promise; borrow(borrowAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceCurrent(account: string, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceStored(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; borrowIndex(overrides?: CallOverrides): Promise<[BigNumber]>; borrowRatePerBlock(overrides?: CallOverrides): Promise<[BigNumber]>; comptroller(overrides?: CallOverrides): Promise<[string]>; decimals(overrides?: CallOverrides): Promise<[number]>; exchangeRateCurrent(overrides?: Overrides & { from?: string; }): Promise; exchangeRateStored(overrides?: CallOverrides): Promise<[BigNumber]>; getAccountSnapshot(account: string, overrides?: CallOverrides): Promise<[BigNumber, BigNumber, BigNumber, BigNumber]>; getCash(overrides?: CallOverrides): Promise<[BigNumber]>; 'initialize(address,address,address,uint256,string,string,uint8)'(underlying_: string, comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; 'initialize(address,address,uint256,string,string,uint8)'(comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; interestRateModel(overrides?: CallOverrides): Promise<[string]>; isCToken(overrides?: CallOverrides): Promise<[boolean]>; liquidateBorrow(borrower: string, repayAmount: BigNumberish, cTokenCollateral: string, overrides?: Overrides & { from?: string; }): Promise; mint(mintAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; name(overrides?: CallOverrides): Promise<[string]>; pendingAdmin(overrides?: CallOverrides): Promise<[string]>; protocolSeizeShareMantissa(overrides?: CallOverrides): Promise<[BigNumber]>; redeem(redeemTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemUnderlying(redeemAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrow(repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrowBehalf(borrower: string, repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise<[BigNumber]>; seize(liquidator: string, borrower: string, seizeTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise<[BigNumber]>; sweepToken(token: string, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; totalBorrows(overrides?: CallOverrides): Promise<[BigNumber]>; totalBorrowsCurrent(overrides?: Overrides & { from?: string; }): Promise; totalReserves(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; underlying(overrides?: CallOverrides): Promise<[string]>; }; NO_ERROR(overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: Overrides & { from?: string; }): Promise; _addReserves(addAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _delegateCompLikeTo(compLikeDelegatee: string, overrides?: Overrides & { from?: string; }): Promise; _reduceReserves(reduceAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _setComptroller(newComptroller: string, overrides?: Overrides & { from?: string; }): Promise; _setInterestRateModel(newInterestRateModel: string, overrides?: Overrides & { from?: string; }): Promise; _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & { from?: string; }): Promise; _setReserveFactor(newReserveFactorMantissa: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; accrueInterest(overrides?: Overrides & { from?: string; }): Promise; admin(overrides?: CallOverrides): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: string, overrides?: Overrides & { from?: string; }): Promise; borrow(borrowAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceCurrent(account: string, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceStored(account: string, overrides?: CallOverrides): Promise; borrowIndex(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: string; }): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; getAccountSnapshot(account: string, overrides?: CallOverrides): Promise<[BigNumber, BigNumber, BigNumber, BigNumber]>; getCash(overrides?: CallOverrides): Promise; 'initialize(address,address,address,uint256,string,string,uint8)'(underlying_: string, comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; 'initialize(address,address,uint256,string,string,uint8)'(comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; interestRateModel(overrides?: CallOverrides): Promise; isCToken(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: string, repayAmount: BigNumberish, cTokenCollateral: string, overrides?: Overrides & { from?: string; }): Promise; mint(mintAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; name(overrides?: CallOverrides): Promise; pendingAdmin(overrides?: CallOverrides): Promise; protocolSeizeShareMantissa(overrides?: CallOverrides): Promise; redeem(redeemTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemUnderlying(redeemAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrow(repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrowBehalf(borrower: string, repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; seize(liquidator: string, borrower: string, seizeTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; sweepToken(token: string, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise; totalBorrows(overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: Overrides & { from?: string; }): Promise; totalReserves(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; underlying(overrides?: CallOverrides): Promise; callStatic: { NO_ERROR(overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: CallOverrides): Promise; _addReserves(addAmount: BigNumberish, overrides?: CallOverrides): Promise; _delegateCompLikeTo(compLikeDelegatee: string, overrides?: CallOverrides): Promise; _reduceReserves(reduceAmount: BigNumberish, overrides?: CallOverrides): Promise; _setComptroller(newComptroller: string, overrides?: CallOverrides): Promise; _setInterestRateModel(newInterestRateModel: string, overrides?: CallOverrides): Promise; _setPendingAdmin(newPendingAdmin: string, overrides?: CallOverrides): Promise; _setReserveFactor(newReserveFactorMantissa: BigNumberish, overrides?: CallOverrides): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; accrueInterest(overrides?: CallOverrides): Promise; admin(overrides?: CallOverrides): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: CallOverrides): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: string, overrides?: CallOverrides): Promise; borrow(borrowAmount: BigNumberish, overrides?: CallOverrides): Promise; borrowBalanceCurrent(account: string, overrides?: CallOverrides): Promise; borrowBalanceStored(account: string, overrides?: CallOverrides): Promise; borrowIndex(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRateCurrent(overrides?: CallOverrides): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; getAccountSnapshot(account: string, overrides?: CallOverrides): Promise<[BigNumber, BigNumber, BigNumber, BigNumber]>; getCash(overrides?: CallOverrides): Promise; 'initialize(address,address,address,uint256,string,string,uint8)'(underlying_: string, comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: CallOverrides): Promise; 'initialize(address,address,uint256,string,string,uint8)'(comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: CallOverrides): Promise; interestRateModel(overrides?: CallOverrides): Promise; isCToken(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: string, repayAmount: BigNumberish, cTokenCollateral: string, overrides?: CallOverrides): Promise; mint(mintAmount: BigNumberish, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; pendingAdmin(overrides?: CallOverrides): Promise; protocolSeizeShareMantissa(overrides?: CallOverrides): Promise; redeem(redeemTokens: BigNumberish, overrides?: CallOverrides): Promise; redeemUnderlying(redeemAmount: BigNumberish, overrides?: CallOverrides): Promise; repayBorrow(repayAmount: BigNumberish, overrides?: CallOverrides): Promise; repayBorrowBehalf(borrower: string, repayAmount: BigNumberish, overrides?: CallOverrides): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; seize(liquidator: string, borrower: string, seizeTokens: BigNumberish, overrides?: CallOverrides): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; sweepToken(token: string, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; totalBorrows(overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: CallOverrides): Promise; totalReserves(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: CallOverrides): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: CallOverrides): Promise; underlying(overrides?: CallOverrides): Promise; }; filters: { 'AccrueInterest(uint256,uint256,uint256,uint256)'(cashPrior?: null, interestAccumulated?: null, borrowIndex?: null, totalBorrows?: null): AccrueInterestEventFilter; AccrueInterest(cashPrior?: null, interestAccumulated?: null, borrowIndex?: null, totalBorrows?: null): AccrueInterestEventFilter; 'Approval(address,address,uint256)'(owner?: string | null, spender?: string | null, amount?: null): ApprovalEventFilter; Approval(owner?: string | null, spender?: string | null, amount?: null): ApprovalEventFilter; 'Borrow(address,uint256,uint256,uint256)'(borrower?: null, borrowAmount?: null, accountBorrows?: null, totalBorrows?: null): BorrowEventFilter; Borrow(borrower?: null, borrowAmount?: null, accountBorrows?: null, totalBorrows?: null): BorrowEventFilter; '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; 'Mint(address,uint256,uint256)'(minter?: null, mintAmount?: null, mintTokens?: null): MintEventFilter; Mint(minter?: null, mintAmount?: null, mintTokens?: null): MintEventFilter; '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; 'NewPendingAdmin(address,address)'(oldPendingAdmin?: null, newPendingAdmin?: null): NewPendingAdminEventFilter; NewPendingAdmin(oldPendingAdmin?: null, newPendingAdmin?: null): NewPendingAdminEventFilter; 'NewReserveFactor(uint256,uint256)'(oldReserveFactorMantissa?: null, newReserveFactorMantissa?: null): NewReserveFactorEventFilter; NewReserveFactor(oldReserveFactorMantissa?: null, newReserveFactorMantissa?: null): NewReserveFactorEventFilter; 'Redeem(address,uint256,uint256)'(redeemer?: null, redeemAmount?: null, redeemTokens?: null): RedeemEventFilter; Redeem(redeemer?: null, redeemAmount?: null, redeemTokens?: null): RedeemEventFilter; '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; 'ReservesAdded(address,uint256,uint256)'(benefactor?: null, addAmount?: null, newTotalReserves?: null): ReservesAddedEventFilter; ReservesAdded(benefactor?: null, addAmount?: null, newTotalReserves?: null): ReservesAddedEventFilter; 'ReservesReduced(address,uint256,uint256)'(admin?: null, reduceAmount?: null, newTotalReserves?: null): ReservesReducedEventFilter; ReservesReduced(admin?: null, reduceAmount?: null, newTotalReserves?: null): ReservesReducedEventFilter; 'Transfer(address,address,uint256)'(from?: string | null, to?: string | null, amount?: null): TransferEventFilter; Transfer(from?: string | null, to?: string | null, amount?: null): TransferEventFilter; }; estimateGas: { NO_ERROR(overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: Overrides & { from?: string; }): Promise; _addReserves(addAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _delegateCompLikeTo(compLikeDelegatee: string, overrides?: Overrides & { from?: string; }): Promise; _reduceReserves(reduceAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _setComptroller(newComptroller: string, overrides?: Overrides & { from?: string; }): Promise; _setInterestRateModel(newInterestRateModel: string, overrides?: Overrides & { from?: string; }): Promise; _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & { from?: string; }): Promise; _setReserveFactor(newReserveFactorMantissa: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; accrueInterest(overrides?: Overrides & { from?: string; }): Promise; admin(overrides?: CallOverrides): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: string, overrides?: Overrides & { from?: string; }): Promise; borrow(borrowAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceCurrent(account: string, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceStored(account: string, overrides?: CallOverrides): Promise; borrowIndex(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: string; }): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; getAccountSnapshot(account: string, overrides?: CallOverrides): Promise; getCash(overrides?: CallOverrides): Promise; 'initialize(address,address,address,uint256,string,string,uint8)'(underlying_: string, comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; 'initialize(address,address,uint256,string,string,uint8)'(comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; interestRateModel(overrides?: CallOverrides): Promise; isCToken(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: string, repayAmount: BigNumberish, cTokenCollateral: string, overrides?: Overrides & { from?: string; }): Promise; mint(mintAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; name(overrides?: CallOverrides): Promise; pendingAdmin(overrides?: CallOverrides): Promise; protocolSeizeShareMantissa(overrides?: CallOverrides): Promise; redeem(redeemTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemUnderlying(redeemAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrow(repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrowBehalf(borrower: string, repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; seize(liquidator: string, borrower: string, seizeTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; sweepToken(token: string, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise; totalBorrows(overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: Overrides & { from?: string; }): Promise; totalReserves(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; underlying(overrides?: CallOverrides): Promise; }; populateTransaction: { NO_ERROR(overrides?: CallOverrides): Promise; _acceptAdmin(overrides?: Overrides & { from?: string; }): Promise; _addReserves(addAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _delegateCompLikeTo(compLikeDelegatee: string, overrides?: Overrides & { from?: string; }): Promise; _reduceReserves(reduceAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; _setComptroller(newComptroller: string, overrides?: Overrides & { from?: string; }): Promise; _setInterestRateModel(newInterestRateModel: string, overrides?: Overrides & { from?: string; }): Promise; _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & { from?: string; }): Promise; _setReserveFactor(newReserveFactorMantissa: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; accrualBlockNumber(overrides?: CallOverrides): Promise; accrueInterest(overrides?: Overrides & { from?: string; }): Promise; admin(overrides?: CallOverrides): Promise; allowance(owner: string, spender: string, overrides?: CallOverrides): Promise; approve(spender: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; balanceOfUnderlying(owner: string, overrides?: Overrides & { from?: string; }): Promise; borrow(borrowAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceCurrent(account: string, overrides?: Overrides & { from?: string; }): Promise; borrowBalanceStored(account: string, overrides?: CallOverrides): Promise; borrowIndex(overrides?: CallOverrides): Promise; borrowRatePerBlock(overrides?: CallOverrides): Promise; comptroller(overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRateCurrent(overrides?: Overrides & { from?: string; }): Promise; exchangeRateStored(overrides?: CallOverrides): Promise; getAccountSnapshot(account: string, overrides?: CallOverrides): Promise; getCash(overrides?: CallOverrides): Promise; 'initialize(address,address,address,uint256,string,string,uint8)'(underlying_: string, comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; 'initialize(address,address,uint256,string,string,uint8)'(comptroller_: string, interestRateModel_: string, initialExchangeRateMantissa_: BigNumberish, name_: string, symbol_: string, decimals_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; interestRateModel(overrides?: CallOverrides): Promise; isCToken(overrides?: CallOverrides): Promise; liquidateBorrow(borrower: string, repayAmount: BigNumberish, cTokenCollateral: string, overrides?: Overrides & { from?: string; }): Promise; mint(mintAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; name(overrides?: CallOverrides): Promise; pendingAdmin(overrides?: CallOverrides): Promise; protocolSeizeShareMantissa(overrides?: CallOverrides): Promise; redeem(redeemTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; redeemUnderlying(redeemAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrow(repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; repayBorrowBehalf(borrower: string, repayAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; reserveFactorMantissa(overrides?: CallOverrides): Promise; seize(liquidator: string, borrower: string, seizeTokens: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supplyRatePerBlock(overrides?: CallOverrides): Promise; sweepToken(token: string, overrides?: Overrides & { from?: string; }): Promise; symbol(overrides?: CallOverrides): Promise; totalBorrows(overrides?: CallOverrides): Promise; totalBorrowsCurrent(overrides?: Overrides & { from?: string; }): Promise; totalReserves(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; transferFrom(src: string, dst: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; underlying(overrides?: CallOverrides): Promise; }; }