/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 IKashiPairInterface extends utils.Interface { functions: { "DOMAIN_SEPARATOR()": FunctionFragment; "accrue()": FunctionFragment; "accrueInfo()": FunctionFragment; "addAsset(address,bool,uint256)": FunctionFragment; "addCollateral(address,bool,uint256)": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "asset()": FunctionFragment; "balanceOf(address)": FunctionFragment; "bentoBox()": FunctionFragment; "borrow(address,uint256)": FunctionFragment; "claimOwnership()": FunctionFragment; "collateral()": FunctionFragment; "cook(uint8[],uint256[],bytes[])": FunctionFragment; "decimals()": FunctionFragment; "exchangeRate()": FunctionFragment; "feeTo()": FunctionFragment; "getInitData(address,address,address,bytes)": FunctionFragment; "init(bytes)": FunctionFragment; "isSolvent(address,bool)": FunctionFragment; "liquidate(address[],uint256[],address,address,bool)": FunctionFragment; "masterContract()": FunctionFragment; "name()": FunctionFragment; "nonces(address)": FunctionFragment; "oracle()": FunctionFragment; "oracleData()": FunctionFragment; "owner()": FunctionFragment; "pendingOwner()": FunctionFragment; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "removeAsset(address,uint256)": FunctionFragment; "removeCollateral(address,uint256)": FunctionFragment; "repay(address,bool,uint256)": FunctionFragment; "setFeeTo(address)": FunctionFragment; "setSwapper(address,bool)": FunctionFragment; "swappers(address)": FunctionFragment; "symbol()": FunctionFragment; "totalAsset()": FunctionFragment; "totalBorrow()": FunctionFragment; "totalCollateralShare()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "transferOwnership(address,bool,bool)": FunctionFragment; "updateExchangeRate()": FunctionFragment; "userBorrowPart(address)": FunctionFragment; "userCollateralShare(address)": FunctionFragment; "withdrawFees()": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "DOMAIN_SEPARATOR" | "accrue" | "accrueInfo" | "addAsset" | "addCollateral" | "allowance" | "approve" | "asset" | "balanceOf" | "bentoBox" | "borrow" | "claimOwnership" | "collateral" | "cook" | "decimals" | "exchangeRate" | "feeTo" | "getInitData" | "init" | "isSolvent" | "liquidate" | "masterContract" | "name" | "nonces" | "oracle" | "oracleData" | "owner" | "pendingOwner" | "permit" | "removeAsset" | "removeCollateral" | "repay" | "setFeeTo" | "setSwapper" | "swappers" | "symbol" | "totalAsset" | "totalBorrow" | "totalCollateralShare" | "totalSupply" | "transfer" | "transferFrom" | "transferOwnership" | "updateExchangeRate" | "userBorrowPart" | "userCollateralShare" | "withdrawFees" ): FunctionFragment; encodeFunctionData( functionFragment: "DOMAIN_SEPARATOR", values?: undefined ): string; encodeFunctionData(functionFragment: "accrue", values?: undefined): string; encodeFunctionData( functionFragment: "accrueInfo", values?: undefined ): string; encodeFunctionData( functionFragment: "addAsset", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "addCollateral", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "allowance", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "approve", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData( functionFragment: "balanceOf", values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "bentoBox", values?: undefined): string; encodeFunctionData( functionFragment: "borrow", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "claimOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "collateral", values?: undefined ): string; encodeFunctionData( functionFragment: "cook", values: [ PromiseOrValue[], PromiseOrValue[], PromiseOrValue[] ] ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData( functionFragment: "exchangeRate", values?: undefined ): string; encodeFunctionData(functionFragment: "feeTo", values?: undefined): string; encodeFunctionData( functionFragment: "getInitData", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "init", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "isSolvent", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "liquidate", values: [ PromiseOrValue[], PromiseOrValue[], PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "masterContract", values?: undefined ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "nonces", values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "oracle", values?: undefined): string; encodeFunctionData( functionFragment: "oracleData", values?: undefined ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "pendingOwner", values?: undefined ): string; encodeFunctionData( functionFragment: "permit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "removeAsset", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "removeCollateral", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "repay", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "setFeeTo", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "setSwapper", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "swappers", values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData( functionFragment: "totalAsset", values?: undefined ): string; encodeFunctionData( functionFragment: "totalBorrow", values?: undefined ): string; encodeFunctionData( functionFragment: "totalCollateralShare", values?: undefined ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "transfer", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "updateExchangeRate", values?: undefined ): string; encodeFunctionData( functionFragment: "userBorrowPart", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "userCollateralShare", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "withdrawFees", values?: undefined ): string; decodeFunctionResult( functionFragment: "DOMAIN_SEPARATOR", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "accrue", data: BytesLike): Result; decodeFunctionResult(functionFragment: "accrueInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addAsset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "addCollateral", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "bentoBox", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrow", data: BytesLike): Result; decodeFunctionResult( functionFragment: "claimOwnership", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "collateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cook", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult( functionFragment: "exchangeRate", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "feeTo", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getInitData", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "init", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSolvent", data: BytesLike): Result; decodeFunctionResult(functionFragment: "liquidate", data: BytesLike): Result; decodeFunctionResult( functionFragment: "masterContract", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "oracle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "oracleData", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "pendingOwner", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult( functionFragment: "removeAsset", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "removeCollateral", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "repay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setFeeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSwapper", data: BytesLike): Result; decodeFunctionResult(functionFragment: "swappers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAsset", data: BytesLike): Result; decodeFunctionResult( functionFragment: "totalBorrow", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalCollateralShare", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "totalSupply", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferFrom", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "updateExchangeRate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "userBorrowPart", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "userCollateralShare", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawFees", data: BytesLike ): Result; events: { "Approval(address,address,uint256)": EventFragment; "LogAccrue(uint256,uint256,uint64,uint256)": EventFragment; "LogAddAsset(address,address,uint256,uint256)": EventFragment; "LogAddCollateral(address,address,uint256)": EventFragment; "LogBorrow(address,address,uint256,uint256)": EventFragment; "LogExchangeRate(uint256)": EventFragment; "LogFeeTo(address)": EventFragment; "LogRemoveAsset(address,address,uint256,uint256)": EventFragment; "LogRemoveCollateral(address,address,uint256)": EventFragment; "LogRepay(address,address,uint256,uint256)": EventFragment; "LogWithdrawFees(address,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogAccrue"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogAddAsset"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogAddCollateral"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogBorrow"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogExchangeRate"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogFeeTo"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogRemoveAsset"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogRemoveCollateral"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogRepay"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogWithdrawFees"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export interface ApprovalEventObject { _owner: string; _spender: string; _value: BigNumber; } export type ApprovalEvent = TypedEvent< [string, string, BigNumber], ApprovalEventObject >; export type ApprovalEventFilter = TypedEventFilter; export interface LogAccrueEventObject { accruedAmount: BigNumber; feeFraction: BigNumber; rate: BigNumber; utilization: BigNumber; } export type LogAccrueEvent = TypedEvent< [BigNumber, BigNumber, BigNumber, BigNumber], LogAccrueEventObject >; export type LogAccrueEventFilter = TypedEventFilter; export interface LogAddAssetEventObject { from: string; to: string; share: BigNumber; fraction: BigNumber; } export type LogAddAssetEvent = TypedEvent< [string, string, BigNumber, BigNumber], LogAddAssetEventObject >; export type LogAddAssetEventFilter = TypedEventFilter; export interface LogAddCollateralEventObject { from: string; to: string; share: BigNumber; } export type LogAddCollateralEvent = TypedEvent< [string, string, BigNumber], LogAddCollateralEventObject >; export type LogAddCollateralEventFilter = TypedEventFilter; export interface LogBorrowEventObject { from: string; to: string; amount: BigNumber; part: BigNumber; } export type LogBorrowEvent = TypedEvent< [string, string, BigNumber, BigNumber], LogBorrowEventObject >; export type LogBorrowEventFilter = TypedEventFilter; export interface LogExchangeRateEventObject { rate: BigNumber; } export type LogExchangeRateEvent = TypedEvent< [BigNumber], LogExchangeRateEventObject >; export type LogExchangeRateEventFilter = TypedEventFilter; export interface LogFeeToEventObject { newFeeTo: string; } export type LogFeeToEvent = TypedEvent<[string], LogFeeToEventObject>; export type LogFeeToEventFilter = TypedEventFilter; export interface LogRemoveAssetEventObject { from: string; to: string; share: BigNumber; fraction: BigNumber; } export type LogRemoveAssetEvent = TypedEvent< [string, string, BigNumber, BigNumber], LogRemoveAssetEventObject >; export type LogRemoveAssetEventFilter = TypedEventFilter; export interface LogRemoveCollateralEventObject { from: string; to: string; share: BigNumber; } export type LogRemoveCollateralEvent = TypedEvent< [string, string, BigNumber], LogRemoveCollateralEventObject >; export type LogRemoveCollateralEventFilter = TypedEventFilter; export interface LogRepayEventObject { from: string; to: string; amount: BigNumber; part: BigNumber; } export type LogRepayEvent = TypedEvent< [string, string, BigNumber, BigNumber], LogRepayEventObject >; export type LogRepayEventFilter = TypedEventFilter; export interface LogWithdrawFeesEventObject { feeTo: string; feesEarnedFraction: BigNumber; } export type LogWithdrawFeesEvent = TypedEvent< [string, BigNumber], LogWithdrawFeesEventObject >; export type LogWithdrawFeesEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent< [string, string], OwnershipTransferredEventObject >; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface TransferEventObject { _from: string; _to: string; _value: BigNumber; } export type TransferEvent = TypedEvent< [string, string, BigNumber], TransferEventObject >; export type TransferEventFilter = TypedEventFilter; export interface IKashiPair extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IKashiPairInterface; 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: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; accrue( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; accrueInfo( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { interestPerSecond: BigNumber; lastBlockAccrued: BigNumber; feesEarnedFraction: BigNumber; } >; addAsset( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addCollateral( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; allowance( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; approve( spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; asset(overrides?: CallOverrides): Promise<[string]>; balanceOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; bentoBox(overrides?: CallOverrides): Promise<[string]>; borrow( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; collateral(overrides?: CallOverrides): Promise<[string]>; cook( actions: PromiseOrValue[], values: PromiseOrValue[], datas: PromiseOrValue[], overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; exchangeRate(overrides?: CallOverrides): Promise<[BigNumber]>; feeTo(overrides?: CallOverrides): Promise<[string]>; getInitData( collateral_: PromiseOrValue, asset_: PromiseOrValue, oracle_: PromiseOrValue, oracleData_: PromiseOrValue, overrides?: CallOverrides ): Promise<[string] & { data: string }>; init( data: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; isSolvent( user: PromiseOrValue, open: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; liquidate( users: PromiseOrValue[], borrowParts: PromiseOrValue[], to: PromiseOrValue, swapper: PromiseOrValue, open: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContract(overrides?: CallOverrides): Promise<[string]>; name(overrides?: CallOverrides): Promise<[string]>; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; oracle(overrides?: CallOverrides): Promise<[string]>; oracleData(overrides?: CallOverrides): Promise<[string]>; owner(overrides?: CallOverrides): Promise<[string]>; pendingOwner(overrides?: CallOverrides): Promise<[string]>; permit( owner_: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeAsset( to: PromiseOrValue, fraction: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeCollateral( to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; repay( to: PromiseOrValue, skim: PromiseOrValue, part: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setFeeTo( newFeeTo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setSwapper( swapper: PromiseOrValue, enable: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swappers( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; symbol(overrides?: CallOverrides): Promise<[string]>; totalAsset( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; totalBorrow( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; totalCollateralShare(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateExchangeRate( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; userBorrowPart( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; userCollateralShare( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; withdrawFees( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; accrue( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; accrueInfo( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { interestPerSecond: BigNumber; lastBlockAccrued: BigNumber; feesEarnedFraction: BigNumber; } >; addAsset( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addCollateral( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; allowance( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; approve( spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; asset(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; bentoBox(overrides?: CallOverrides): Promise; borrow( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; collateral(overrides?: CallOverrides): Promise; cook( actions: PromiseOrValue[], values: PromiseOrValue[], datas: PromiseOrValue[], overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRate(overrides?: CallOverrides): Promise; feeTo(overrides?: CallOverrides): Promise; getInitData( collateral_: PromiseOrValue, asset_: PromiseOrValue, oracle_: PromiseOrValue, oracleData_: PromiseOrValue, overrides?: CallOverrides ): Promise; init( data: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; isSolvent( user: PromiseOrValue, open: PromiseOrValue, overrides?: CallOverrides ): Promise; liquidate( users: PromiseOrValue[], borrowParts: PromiseOrValue[], to: PromiseOrValue, swapper: PromiseOrValue, open: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContract(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; oracle(overrides?: CallOverrides): Promise; oracleData(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; permit( owner_: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeAsset( to: PromiseOrValue, fraction: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeCollateral( to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; repay( to: PromiseOrValue, skim: PromiseOrValue, part: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setFeeTo( newFeeTo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setSwapper( swapper: PromiseOrValue, enable: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swappers( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAsset( overrides?: CallOverrides ): Promise<[BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber }>; totalBorrow( overrides?: CallOverrides ): Promise<[BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber }>; totalCollateralShare(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateExchangeRate( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; userBorrowPart( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; userCollateralShare( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdrawFees( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; accrue(overrides?: CallOverrides): Promise; accrueInfo( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { interestPerSecond: BigNumber; lastBlockAccrued: BigNumber; feesEarnedFraction: BigNumber; } >; addAsset( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: CallOverrides ): Promise; addCollateral( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: CallOverrides ): Promise; allowance( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; approve( spender: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides ): Promise; asset(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; bentoBox(overrides?: CallOverrides): Promise; borrow( to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber] & { part: BigNumber; share: BigNumber }>; claimOwnership(overrides?: CallOverrides): Promise; collateral(overrides?: CallOverrides): Promise; cook( actions: PromiseOrValue[], values: PromiseOrValue[], datas: PromiseOrValue[], overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { value1: BigNumber; value2: BigNumber } >; decimals(overrides?: CallOverrides): Promise; exchangeRate(overrides?: CallOverrides): Promise; feeTo(overrides?: CallOverrides): Promise; getInitData( collateral_: PromiseOrValue, asset_: PromiseOrValue, oracle_: PromiseOrValue, oracleData_: PromiseOrValue, overrides?: CallOverrides ): Promise; init( data: PromiseOrValue, overrides?: CallOverrides ): Promise; isSolvent( user: PromiseOrValue, open: PromiseOrValue, overrides?: CallOverrides ): Promise; liquidate( users: PromiseOrValue[], borrowParts: PromiseOrValue[], to: PromiseOrValue, swapper: PromiseOrValue, open: PromiseOrValue, overrides?: CallOverrides ): Promise; masterContract(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; oracle(overrides?: CallOverrides): Promise; oracleData(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; permit( owner_: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides ): Promise; removeAsset( to: PromiseOrValue, fraction: PromiseOrValue, overrides?: CallOverrides ): Promise; removeCollateral( to: PromiseOrValue, share: PromiseOrValue, overrides?: CallOverrides ): Promise; repay( to: PromiseOrValue, skim: PromiseOrValue, part: PromiseOrValue, overrides?: CallOverrides ): Promise; setFeeTo( newFeeTo: PromiseOrValue, overrides?: CallOverrides ): Promise; setSwapper( swapper: PromiseOrValue, enable: PromiseOrValue, overrides?: CallOverrides ): Promise; swappers( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAsset( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; totalBorrow( overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; totalCollateralShare(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: CallOverrides ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: CallOverrides ): Promise; updateExchangeRate( overrides?: CallOverrides ): Promise<[boolean, BigNumber] & { updated: boolean; rate: BigNumber }>; userBorrowPart( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; userCollateralShare( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdrawFees(overrides?: CallOverrides): Promise; }; filters: { "Approval(address,address,uint256)"( _owner?: PromiseOrValue | null, _spender?: PromiseOrValue | null, _value?: null ): ApprovalEventFilter; Approval( _owner?: PromiseOrValue | null, _spender?: PromiseOrValue | null, _value?: null ): ApprovalEventFilter; "LogAccrue(uint256,uint256,uint64,uint256)"( accruedAmount?: null, feeFraction?: null, rate?: null, utilization?: null ): LogAccrueEventFilter; LogAccrue( accruedAmount?: null, feeFraction?: null, rate?: null, utilization?: null ): LogAccrueEventFilter; "LogAddAsset(address,address,uint256,uint256)"( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null, fraction?: null ): LogAddAssetEventFilter; LogAddAsset( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null, fraction?: null ): LogAddAssetEventFilter; "LogAddCollateral(address,address,uint256)"( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null ): LogAddCollateralEventFilter; LogAddCollateral( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null ): LogAddCollateralEventFilter; "LogBorrow(address,address,uint256,uint256)"( from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, part?: null ): LogBorrowEventFilter; LogBorrow( from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, part?: null ): LogBorrowEventFilter; "LogExchangeRate(uint256)"(rate?: null): LogExchangeRateEventFilter; LogExchangeRate(rate?: null): LogExchangeRateEventFilter; "LogFeeTo(address)"( newFeeTo?: PromiseOrValue | null ): LogFeeToEventFilter; LogFeeTo(newFeeTo?: PromiseOrValue | null): LogFeeToEventFilter; "LogRemoveAsset(address,address,uint256,uint256)"( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null, fraction?: null ): LogRemoveAssetEventFilter; LogRemoveAsset( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null, fraction?: null ): LogRemoveAssetEventFilter; "LogRemoveCollateral(address,address,uint256)"( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null ): LogRemoveCollateralEventFilter; LogRemoveCollateral( from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null ): LogRemoveCollateralEventFilter; "LogRepay(address,address,uint256,uint256)"( from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, part?: null ): LogRepayEventFilter; LogRepay( from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, part?: null ): LogRepayEventFilter; "LogWithdrawFees(address,uint256)"( feeTo?: PromiseOrValue | null, feesEarnedFraction?: null ): LogWithdrawFeesEventFilter; LogWithdrawFees( feeTo?: PromiseOrValue | null, feesEarnedFraction?: null ): LogWithdrawFeesEventFilter; "OwnershipTransferred(address,address)"( previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; OwnershipTransferred( previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; "Transfer(address,address,uint256)"( _from?: PromiseOrValue | null, _to?: PromiseOrValue | null, _value?: null ): TransferEventFilter; Transfer( _from?: PromiseOrValue | null, _to?: PromiseOrValue | null, _value?: null ): TransferEventFilter; }; estimateGas: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; accrue( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; accrueInfo(overrides?: CallOverrides): Promise; addAsset( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addCollateral( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; allowance( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; approve( spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; asset(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; bentoBox(overrides?: CallOverrides): Promise; borrow( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; collateral(overrides?: CallOverrides): Promise; cook( actions: PromiseOrValue[], values: PromiseOrValue[], datas: PromiseOrValue[], overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRate(overrides?: CallOverrides): Promise; feeTo(overrides?: CallOverrides): Promise; getInitData( collateral_: PromiseOrValue, asset_: PromiseOrValue, oracle_: PromiseOrValue, oracleData_: PromiseOrValue, overrides?: CallOverrides ): Promise; init( data: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; isSolvent( user: PromiseOrValue, open: PromiseOrValue, overrides?: CallOverrides ): Promise; liquidate( users: PromiseOrValue[], borrowParts: PromiseOrValue[], to: PromiseOrValue, swapper: PromiseOrValue, open: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContract(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; oracle(overrides?: CallOverrides): Promise; oracleData(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; permit( owner_: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeAsset( to: PromiseOrValue, fraction: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeCollateral( to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; repay( to: PromiseOrValue, skim: PromiseOrValue, part: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setFeeTo( newFeeTo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setSwapper( swapper: PromiseOrValue, enable: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swappers( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAsset(overrides?: CallOverrides): Promise; totalBorrow(overrides?: CallOverrides): Promise; totalCollateralShare(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateExchangeRate( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; userBorrowPart( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; userCollateralShare( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdrawFees( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; accrue( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; accrueInfo(overrides?: CallOverrides): Promise; addAsset( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; addCollateral( to: PromiseOrValue, skim: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; allowance( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; approve( spender: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; asset(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; bentoBox(overrides?: CallOverrides): Promise; borrow( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; collateral(overrides?: CallOverrides): Promise; cook( actions: PromiseOrValue[], values: PromiseOrValue[], datas: PromiseOrValue[], overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise; exchangeRate(overrides?: CallOverrides): Promise; feeTo(overrides?: CallOverrides): Promise; getInitData( collateral_: PromiseOrValue, asset_: PromiseOrValue, oracle_: PromiseOrValue, oracleData_: PromiseOrValue, overrides?: CallOverrides ): Promise; init( data: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; isSolvent( user: PromiseOrValue, open: PromiseOrValue, overrides?: CallOverrides ): Promise; liquidate( users: PromiseOrValue[], borrowParts: PromiseOrValue[], to: PromiseOrValue, swapper: PromiseOrValue, open: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContract(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; oracle(overrides?: CallOverrides): Promise; oracleData(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; permit( owner_: PromiseOrValue, spender: PromiseOrValue, value: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeAsset( to: PromiseOrValue, fraction: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; removeCollateral( to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; repay( to: PromiseOrValue, skim: PromiseOrValue, part: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setFeeTo( newFeeTo: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setSwapper( swapper: PromiseOrValue, enable: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; swappers( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; symbol(overrides?: CallOverrides): Promise; totalAsset(overrides?: CallOverrides): Promise; totalBorrow(overrides?: CallOverrides): Promise; totalCollateralShare( overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer( to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferFrom( from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateExchangeRate( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; userBorrowPart( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; userCollateralShare( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdrawFees( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; }