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 declare namespace CometConfiguration { type AssetConfigStruct = { asset: AddressLike; priceFeed: AddressLike; decimals: BigNumberish; borrowCollateralFactor: BigNumberish; liquidateCollateralFactor: BigNumberish; liquidationFactor: BigNumberish; supplyCap: BigNumberish; }; type AssetConfigStructOutput = [ asset: string, priceFeed: string, decimals: bigint, borrowCollateralFactor: bigint, liquidateCollateralFactor: bigint, liquidationFactor: bigint, supplyCap: bigint ] & { asset: string; priceFeed: string; decimals: bigint; borrowCollateralFactor: bigint; liquidateCollateralFactor: bigint; liquidationFactor: bigint; supplyCap: bigint; }; type ConfigurationStruct = { governor: AddressLike; pauseGuardian: AddressLike; baseToken: AddressLike; baseTokenPriceFeed: AddressLike; extensionDelegate: AddressLike; supplyKink: BigNumberish; supplyPerYearInterestRateSlopeLow: BigNumberish; supplyPerYearInterestRateSlopeHigh: BigNumberish; supplyPerYearInterestRateBase: BigNumberish; borrowKink: BigNumberish; borrowPerYearInterestRateSlopeLow: BigNumberish; borrowPerYearInterestRateSlopeHigh: BigNumberish; borrowPerYearInterestRateBase: BigNumberish; storeFrontPriceFactor: BigNumberish; trackingIndexScale: BigNumberish; baseTrackingSupplySpeed: BigNumberish; baseTrackingBorrowSpeed: BigNumberish; baseMinForRewards: BigNumberish; baseBorrowMin: BigNumberish; targetReserves: BigNumberish; assetConfigs: CometConfiguration.AssetConfigStruct[]; }; type ConfigurationStructOutput = [ governor: string, pauseGuardian: string, baseToken: string, baseTokenPriceFeed: string, extensionDelegate: string, supplyKink: bigint, supplyPerYearInterestRateSlopeLow: bigint, supplyPerYearInterestRateSlopeHigh: bigint, supplyPerYearInterestRateBase: bigint, borrowKink: bigint, borrowPerYearInterestRateSlopeLow: bigint, borrowPerYearInterestRateSlopeHigh: bigint, borrowPerYearInterestRateBase: bigint, storeFrontPriceFactor: bigint, trackingIndexScale: bigint, baseTrackingSupplySpeed: bigint, baseTrackingBorrowSpeed: bigint, baseMinForRewards: bigint, baseBorrowMin: bigint, targetReserves: bigint, assetConfigs: CometConfiguration.AssetConfigStructOutput[] ] & { governor: string; pauseGuardian: string; baseToken: string; baseTokenPriceFeed: string; extensionDelegate: string; supplyKink: bigint; supplyPerYearInterestRateSlopeLow: bigint; supplyPerYearInterestRateSlopeHigh: bigint; supplyPerYearInterestRateBase: bigint; borrowKink: bigint; borrowPerYearInterestRateSlopeLow: bigint; borrowPerYearInterestRateSlopeHigh: bigint; borrowPerYearInterestRateBase: bigint; storeFrontPriceFactor: bigint; trackingIndexScale: bigint; baseTrackingSupplySpeed: bigint; baseTrackingBorrowSpeed: bigint; baseMinForRewards: bigint; baseBorrowMin: bigint; targetReserves: bigint; assetConfigs: CometConfiguration.AssetConfigStructOutput[]; }; } export declare namespace CometCore { type AssetInfoStruct = { offset: BigNumberish; asset: AddressLike; priceFeed: AddressLike; scale: BigNumberish; borrowCollateralFactor: BigNumberish; liquidateCollateralFactor: BigNumberish; liquidationFactor: BigNumberish; supplyCap: BigNumberish; }; type AssetInfoStructOutput = [ offset: bigint, asset: string, priceFeed: string, scale: bigint, borrowCollateralFactor: bigint, liquidateCollateralFactor: bigint, liquidationFactor: bigint, supplyCap: bigint ] & { offset: bigint; asset: string; priceFeed: string; scale: bigint; borrowCollateralFactor: bigint; liquidateCollateralFactor: bigint; liquidationFactor: bigint; supplyCap: bigint; }; } export interface CometInterface extends Interface { getFunction(nameOrSignature: "absorb" | "accrueAccount" | "approveThis" | "balanceOf" | "baseBorrowMin" | "baseMinForRewards" | "baseScale" | "baseToken" | "baseTokenPriceFeed" | "baseTrackingBorrowSpeed" | "baseTrackingSupplySpeed" | "borrowBalanceOf" | "borrowKink" | "borrowPerSecondInterestRateBase" | "borrowPerSecondInterestRateSlopeHigh" | "borrowPerSecondInterestRateSlopeLow" | "buyCollateral" | "decimals" | "extensionDelegate" | "getAssetInfo" | "getAssetInfoByAddress" | "getBorrowRate" | "getCollateralReserves" | "getPrice" | "getReserves" | "getSupplyRate" | "getUtilization" | "governor" | "hasPermission" | "initializeStorage" | "isAbsorbPaused" | "isAllowed" | "isBorrowCollateralized" | "isBuyPaused" | "isLiquidatable" | "isSupplyPaused" | "isTransferPaused" | "isWithdrawPaused" | "liquidatorPoints" | "numAssets" | "pause" | "pauseGuardian" | "quoteCollateral" | "storeFrontPriceFactor" | "supply" | "supplyFrom" | "supplyKink" | "supplyPerSecondInterestRateBase" | "supplyPerSecondInterestRateSlopeHigh" | "supplyPerSecondInterestRateSlopeLow" | "supplyTo" | "targetReserves" | "totalBorrow" | "totalSupply" | "totalsCollateral" | "trackingIndexScale" | "transfer" | "transferAsset" | "transferAssetFrom" | "transferFrom" | "userBasic" | "userCollateral" | "userNonce" | "withdraw" | "withdrawFrom" | "withdrawReserves" | "withdrawTo"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AbsorbCollateral" | "AbsorbDebt" | "BuyCollateral" | "PauseAction" | "Supply" | "SupplyCollateral" | "Transfer" | "TransferCollateral" | "Withdraw" | "WithdrawCollateral" | "WithdrawReserves"): EventFragment; encodeFunctionData(functionFragment: "absorb", values: [AddressLike, AddressLike[]]): string; encodeFunctionData(functionFragment: "accrueAccount", values: [AddressLike]): string; encodeFunctionData(functionFragment: "approveThis", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "baseBorrowMin", values?: undefined): string; encodeFunctionData(functionFragment: "baseMinForRewards", values?: undefined): string; encodeFunctionData(functionFragment: "baseScale", values?: undefined): string; encodeFunctionData(functionFragment: "baseToken", values?: undefined): string; encodeFunctionData(functionFragment: "baseTokenPriceFeed", values?: undefined): string; encodeFunctionData(functionFragment: "baseTrackingBorrowSpeed", values?: undefined): string; encodeFunctionData(functionFragment: "baseTrackingSupplySpeed", values?: undefined): string; encodeFunctionData(functionFragment: "borrowBalanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "borrowKink", values?: undefined): string; encodeFunctionData(functionFragment: "borrowPerSecondInterestRateBase", values?: undefined): string; encodeFunctionData(functionFragment: "borrowPerSecondInterestRateSlopeHigh", values?: undefined): string; encodeFunctionData(functionFragment: "borrowPerSecondInterestRateSlopeLow", values?: undefined): string; encodeFunctionData(functionFragment: "buyCollateral", values: [AddressLike, BigNumberish, BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "extensionDelegate", values?: undefined): string; encodeFunctionData(functionFragment: "getAssetInfo", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getAssetInfoByAddress", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getBorrowRate", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getCollateralReserves", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getPrice", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getReserves", values?: undefined): string; encodeFunctionData(functionFragment: "getSupplyRate", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getUtilization", values?: undefined): string; encodeFunctionData(functionFragment: "governor", values?: undefined): string; encodeFunctionData(functionFragment: "hasPermission", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "initializeStorage", values?: undefined): string; encodeFunctionData(functionFragment: "isAbsorbPaused", values?: undefined): string; encodeFunctionData(functionFragment: "isAllowed", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "isBorrowCollateralized", values: [AddressLike]): string; encodeFunctionData(functionFragment: "isBuyPaused", values?: undefined): string; encodeFunctionData(functionFragment: "isLiquidatable", values: [AddressLike]): string; encodeFunctionData(functionFragment: "isSupplyPaused", values?: undefined): string; encodeFunctionData(functionFragment: "isTransferPaused", values?: undefined): string; encodeFunctionData(functionFragment: "isWithdrawPaused", values?: undefined): string; encodeFunctionData(functionFragment: "liquidatorPoints", values: [AddressLike]): string; encodeFunctionData(functionFragment: "numAssets", values?: undefined): string; encodeFunctionData(functionFragment: "pause", values: [boolean, boolean, boolean, boolean, boolean]): string; encodeFunctionData(functionFragment: "pauseGuardian", values?: undefined): string; encodeFunctionData(functionFragment: "quoteCollateral", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "storeFrontPriceFactor", values?: undefined): string; encodeFunctionData(functionFragment: "supply", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "supplyFrom", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "supplyKink", values?: undefined): string; encodeFunctionData(functionFragment: "supplyPerSecondInterestRateBase", values?: undefined): string; encodeFunctionData(functionFragment: "supplyPerSecondInterestRateSlopeHigh", values?: undefined): string; encodeFunctionData(functionFragment: "supplyPerSecondInterestRateSlopeLow", values?: undefined): string; encodeFunctionData(functionFragment: "supplyTo", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "targetReserves", values?: undefined): string; encodeFunctionData(functionFragment: "totalBorrow", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "totalsCollateral", values: [AddressLike]): string; encodeFunctionData(functionFragment: "trackingIndexScale", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "transferAsset", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "transferAssetFrom", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "userBasic", values: [AddressLike]): string; encodeFunctionData(functionFragment: "userCollateral", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "userNonce", values: [AddressLike]): string; encodeFunctionData(functionFragment: "withdraw", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawFrom", values: [AddressLike, AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawReserves", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawTo", values: [AddressLike, AddressLike, BigNumberish]): string; decodeFunctionResult(functionFragment: "absorb", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accrueAccount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approveThis", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseBorrowMin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseMinForRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseTokenPriceFeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseTrackingBorrowSpeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "baseTrackingSupplySpeed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowBalanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowKink", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowPerSecondInterestRateBase", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowPerSecondInterestRateSlopeHigh", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrowPerSecondInterestRateSlopeLow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "buyCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "extensionDelegate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAssetInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAssetInfoByAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBorrowRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCollateralReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPrice", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSupplyRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUtilization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "governor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initializeStorage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAbsorbPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAllowed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isBorrowCollateralized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isBuyPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isLiquidatable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSupplyPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isTransferPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isWithdrawPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidatorPoints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "numAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pauseGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quoteCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "storeFrontPriceFactor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyKink", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyPerSecondInterestRateBase", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyPerSecondInterestRateSlopeHigh", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyPerSecondInterestRateSlopeLow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supplyTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "targetReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalBorrow", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalsCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "trackingIndexScale", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferAssetFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userBasic", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userNonce", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawReserves", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawTo", data: BytesLike): Result; } export declare namespace AbsorbCollateralEvent { type InputTuple = [ absorber: AddressLike, borrower: AddressLike, asset: AddressLike, collateralAbsorbed: BigNumberish, usdValue: BigNumberish ]; type OutputTuple = [ absorber: string, borrower: string, asset: string, collateralAbsorbed: bigint, usdValue: bigint ]; interface OutputObject { absorber: string; borrower: string; asset: string; collateralAbsorbed: bigint; usdValue: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace AbsorbDebtEvent { type InputTuple = [ absorber: AddressLike, borrower: AddressLike, basePaidOut: BigNumberish, usdValue: BigNumberish ]; type OutputTuple = [ absorber: string, borrower: string, basePaidOut: bigint, usdValue: bigint ]; interface OutputObject { absorber: string; borrower: string; basePaidOut: bigint; usdValue: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace BuyCollateralEvent { type InputTuple = [ buyer: AddressLike, asset: AddressLike, baseAmount: BigNumberish, collateralAmount: BigNumberish ]; type OutputTuple = [ buyer: string, asset: string, baseAmount: bigint, collateralAmount: bigint ]; interface OutputObject { buyer: string; asset: string; baseAmount: bigint; collateralAmount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace PauseActionEvent { type InputTuple = [ supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean ]; type OutputTuple = [ supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean ]; interface OutputObject { supplyPaused: boolean; transferPaused: boolean; withdrawPaused: boolean; absorbPaused: boolean; buyPaused: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SupplyEvent { type InputTuple = [ from: AddressLike, dst: AddressLike, amount: BigNumberish ]; type OutputTuple = [from: string, dst: string, amount: bigint]; interface OutputObject { from: string; dst: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SupplyCollateralEvent { type InputTuple = [ from: AddressLike, dst: AddressLike, asset: AddressLike, amount: BigNumberish ]; type OutputTuple = [ from: string, dst: string, asset: string, amount: bigint ]; interface OutputObject { from: string; dst: string; asset: string; amount: 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 declare namespace TransferCollateralEvent { type InputTuple = [ from: AddressLike, to: AddressLike, asset: AddressLike, amount: BigNumberish ]; type OutputTuple = [ from: string, to: string, asset: string, amount: bigint ]; interface OutputObject { from: string; to: string; asset: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawEvent { type InputTuple = [ src: AddressLike, to: AddressLike, amount: BigNumberish ]; type OutputTuple = [src: string, to: string, amount: bigint]; interface OutputObject { src: string; to: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawCollateralEvent { type InputTuple = [ src: AddressLike, to: AddressLike, asset: AddressLike, amount: BigNumberish ]; type OutputTuple = [ src: string, to: string, asset: string, amount: bigint ]; interface OutputObject { src: string; to: string; asset: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawReservesEvent { type InputTuple = [to: AddressLike, amount: BigNumberish]; type OutputTuple = [to: string, amount: bigint]; interface OutputObject { to: string; amount: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface Comet extends BaseContract { connect(runner?: ContractRunner | null): Comet; waitForDeployment(): Promise; interface: CometInterface; 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; absorb: TypedContractMethod<[ absorber: AddressLike, accounts: AddressLike[] ], [ void ], "nonpayable">; accrueAccount: TypedContractMethod<[ account: AddressLike ], [ void ], "nonpayable">; approveThis: TypedContractMethod<[ manager: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; baseBorrowMin: TypedContractMethod<[], [bigint], "view">; baseMinForRewards: TypedContractMethod<[], [bigint], "view">; baseScale: TypedContractMethod<[], [bigint], "view">; baseToken: TypedContractMethod<[], [string], "view">; baseTokenPriceFeed: TypedContractMethod<[], [string], "view">; baseTrackingBorrowSpeed: TypedContractMethod<[], [bigint], "view">; baseTrackingSupplySpeed: TypedContractMethod<[], [bigint], "view">; borrowBalanceOf: TypedContractMethod<[ account: AddressLike ], [ bigint ], "view">; borrowKink: TypedContractMethod<[], [bigint], "view">; borrowPerSecondInterestRateBase: TypedContractMethod<[], [bigint], "view">; borrowPerSecondInterestRateSlopeHigh: TypedContractMethod<[ ], [ bigint ], "view">; borrowPerSecondInterestRateSlopeLow: TypedContractMethod<[ ], [ bigint ], "view">; buyCollateral: TypedContractMethod<[ asset: AddressLike, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: AddressLike ], [ void ], "nonpayable">; decimals: TypedContractMethod<[], [bigint], "view">; extensionDelegate: TypedContractMethod<[], [string], "view">; getAssetInfo: TypedContractMethod<[ i: BigNumberish ], [ CometCore.AssetInfoStructOutput ], "view">; getAssetInfoByAddress: TypedContractMethod<[ asset: AddressLike ], [ CometCore.AssetInfoStructOutput ], "view">; getBorrowRate: TypedContractMethod<[ utilization: BigNumberish ], [ bigint ], "view">; getCollateralReserves: TypedContractMethod<[ asset: AddressLike ], [ bigint ], "view">; getPrice: TypedContractMethod<[priceFeed: AddressLike], [bigint], "view">; getReserves: TypedContractMethod<[], [bigint], "view">; getSupplyRate: TypedContractMethod<[ utilization: BigNumberish ], [ bigint ], "view">; getUtilization: TypedContractMethod<[], [bigint], "view">; governor: TypedContractMethod<[], [string], "view">; hasPermission: TypedContractMethod<[ owner: AddressLike, manager: AddressLike ], [ boolean ], "view">; initializeStorage: TypedContractMethod<[], [void], "nonpayable">; isAbsorbPaused: TypedContractMethod<[], [boolean], "view">; isAllowed: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; isBorrowCollateralized: TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; isBuyPaused: TypedContractMethod<[], [boolean], "view">; isLiquidatable: TypedContractMethod<[ account: AddressLike ], [ boolean ], "view">; isSupplyPaused: TypedContractMethod<[], [boolean], "view">; isTransferPaused: TypedContractMethod<[], [boolean], "view">; isWithdrawPaused: TypedContractMethod<[], [boolean], "view">; liquidatorPoints: TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint ] & { numAbsorbs: bigint; numAbsorbed: bigint; approxSpend: bigint; _reserved: bigint; } ], "view">; numAssets: TypedContractMethod<[], [bigint], "view">; pause: TypedContractMethod<[ supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean ], [ void ], "nonpayable">; pauseGuardian: TypedContractMethod<[], [string], "view">; quoteCollateral: TypedContractMethod<[ asset: AddressLike, baseAmount: BigNumberish ], [ bigint ], "view">; storeFrontPriceFactor: TypedContractMethod<[], [bigint], "view">; supply: TypedContractMethod<[ asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; supplyFrom: TypedContractMethod<[ from: AddressLike, dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; supplyKink: TypedContractMethod<[], [bigint], "view">; supplyPerSecondInterestRateBase: TypedContractMethod<[], [bigint], "view">; supplyPerSecondInterestRateSlopeHigh: TypedContractMethod<[ ], [ bigint ], "view">; supplyPerSecondInterestRateSlopeLow: TypedContractMethod<[ ], [ bigint ], "view">; supplyTo: TypedContractMethod<[ dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; targetReserves: TypedContractMethod<[], [bigint], "view">; totalBorrow: TypedContractMethod<[], [bigint], "view">; totalSupply: TypedContractMethod<[], [bigint], "view">; totalsCollateral: TypedContractMethod<[ arg0: AddressLike ], [ [bigint, bigint] & { totalSupplyAsset: bigint; _reserved: bigint; } ], "view">; trackingIndexScale: TypedContractMethod<[], [bigint], "view">; transfer: TypedContractMethod<[ dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; transferAsset: TypedContractMethod<[ dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; transferAssetFrom: TypedContractMethod<[ src: AddressLike, dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; transferFrom: TypedContractMethod<[ src: AddressLike, dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; userBasic: TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint, bigint ] & { principal: bigint; baseTrackingIndex: bigint; baseTrackingAccrued: bigint; assetsIn: bigint; _reserved: bigint; } ], "view">; userCollateral: TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ [bigint, bigint] & { balance: bigint; _reserved: bigint; } ], "view">; userNonce: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; withdraw: TypedContractMethod<[ asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; withdrawFrom: TypedContractMethod<[ src: AddressLike, to: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; withdrawReserves: TypedContractMethod<[ to: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; withdrawTo: TypedContractMethod<[ to: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "absorb"): TypedContractMethod<[ absorber: AddressLike, accounts: AddressLike[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "accrueAccount"): TypedContractMethod<[account: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "approveThis"): TypedContractMethod<[ manager: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "baseBorrowMin"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "baseMinForRewards"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "baseScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "baseToken"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "baseTokenPriceFeed"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "baseTrackingBorrowSpeed"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "baseTrackingSupplySpeed"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "borrowBalanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "borrowKink"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "borrowPerSecondInterestRateBase"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "borrowPerSecondInterestRateSlopeHigh"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "borrowPerSecondInterestRateSlopeLow"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "buyCollateral"): TypedContractMethod<[ asset: AddressLike, minAmount: BigNumberish, baseAmount: BigNumberish, recipient: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "extensionDelegate"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getAssetInfo"): TypedContractMethod<[ i: BigNumberish ], [ CometCore.AssetInfoStructOutput ], "view">; getFunction(nameOrSignature: "getAssetInfoByAddress"): TypedContractMethod<[ asset: AddressLike ], [ CometCore.AssetInfoStructOutput ], "view">; getFunction(nameOrSignature: "getBorrowRate"): TypedContractMethod<[utilization: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getCollateralReserves"): TypedContractMethod<[asset: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getPrice"): TypedContractMethod<[priceFeed: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "getReserves"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "getSupplyRate"): TypedContractMethod<[utilization: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "getUtilization"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "governor"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "hasPermission"): TypedContractMethod<[ owner: AddressLike, manager: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "initializeStorage"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "isAbsorbPaused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "isAllowed"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "isBorrowCollateralized"): TypedContractMethod<[account: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "isBuyPaused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "isLiquidatable"): TypedContractMethod<[account: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "isSupplyPaused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "isTransferPaused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "isWithdrawPaused"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "liquidatorPoints"): TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint ] & { numAbsorbs: bigint; numAbsorbed: bigint; approxSpend: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "numAssets"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "pause"): TypedContractMethod<[ supplyPaused: boolean, transferPaused: boolean, withdrawPaused: boolean, absorbPaused: boolean, buyPaused: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "pauseGuardian"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "quoteCollateral"): TypedContractMethod<[ asset: AddressLike, baseAmount: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "storeFrontPriceFactor"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "supply"): TypedContractMethod<[ asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supplyFrom"): TypedContractMethod<[ from: AddressLike, dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supplyKink"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "supplyPerSecondInterestRateBase"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "supplyPerSecondInterestRateSlopeHigh"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "supplyPerSecondInterestRateSlopeLow"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "supplyTo"): TypedContractMethod<[ dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "targetReserves"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "totalBorrow"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "totalsCollateral"): TypedContractMethod<[ arg0: AddressLike ], [ [bigint, bigint] & { totalSupplyAsset: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "trackingIndexScale"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferAsset"): TypedContractMethod<[ dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "transferAssetFrom"): TypedContractMethod<[ src: AddressLike, dst: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ src: AddressLike, dst: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "userBasic"): TypedContractMethod<[ arg0: AddressLike ], [ [ bigint, bigint, bigint, bigint, bigint ] & { principal: bigint; baseTrackingIndex: bigint; baseTrackingAccrued: bigint; assetsIn: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "userCollateral"): TypedContractMethod<[ arg0: AddressLike, arg1: AddressLike ], [ [bigint, bigint] & { balance: bigint; _reserved: bigint; } ], "view">; getFunction(nameOrSignature: "userNonce"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[ asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdrawFrom"): TypedContractMethod<[ src: AddressLike, to: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdrawReserves"): TypedContractMethod<[ to: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdrawTo"): TypedContractMethod<[ to: AddressLike, asset: AddressLike, amount: BigNumberish ], [ void ], "nonpayable">; getEvent(key: "AbsorbCollateral"): TypedContractEvent; getEvent(key: "AbsorbDebt"): TypedContractEvent; getEvent(key: "BuyCollateral"): TypedContractEvent; getEvent(key: "PauseAction"): TypedContractEvent; getEvent(key: "Supply"): TypedContractEvent; getEvent(key: "SupplyCollateral"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "TransferCollateral"): TypedContractEvent; getEvent(key: "Withdraw"): TypedContractEvent; getEvent(key: "WithdrawCollateral"): TypedContractEvent; getEvent(key: "WithdrawReserves"): TypedContractEvent; filters: { "AbsorbCollateral(address,address,address,uint256,uint256)": TypedContractEvent; AbsorbCollateral: TypedContractEvent; "AbsorbDebt(address,address,uint256,uint256)": TypedContractEvent; AbsorbDebt: TypedContractEvent; "BuyCollateral(address,address,uint256,uint256)": TypedContractEvent; BuyCollateral: TypedContractEvent; "PauseAction(bool,bool,bool,bool,bool)": TypedContractEvent; PauseAction: TypedContractEvent; "Supply(address,address,uint256)": TypedContractEvent; Supply: TypedContractEvent; "SupplyCollateral(address,address,address,uint256)": TypedContractEvent; SupplyCollateral: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "TransferCollateral(address,address,address,uint256)": TypedContractEvent; TransferCollateral: TypedContractEvent; "Withdraw(address,address,uint256)": TypedContractEvent; Withdraw: TypedContractEvent; "WithdrawCollateral(address,address,address,uint256)": TypedContractEvent; WithdrawCollateral: TypedContractEvent; "WithdrawReserves(address,uint256)": TypedContractEvent; WithdrawReserves: TypedContractEvent; }; }