/* 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 BentoBoxV1Interface extends utils.Interface { functions: { "DOMAIN_SEPARATOR()": FunctionFragment; "balanceOf(address,address)": FunctionFragment; "batch(bytes[],bool)": FunctionFragment; "batchFlashLoan(address,address[],address[],uint256[],bytes)": FunctionFragment; "claimOwnership()": FunctionFragment; "deploy(address,bytes,bool)": FunctionFragment; "deposit(address,address,address,uint256,uint256)": FunctionFragment; "flashLoan(address,address,address,uint256,bytes)": FunctionFragment; "harvest(address,bool,uint256)": FunctionFragment; "masterContractApproved(address,address)": FunctionFragment; "masterContractOf(address)": FunctionFragment; "nonces(address)": FunctionFragment; "owner()": FunctionFragment; "pendingOwner()": FunctionFragment; "pendingStrategy(address)": FunctionFragment; "permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "registerProtocol()": FunctionFragment; "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)": FunctionFragment; "setStrategy(address,address)": FunctionFragment; "setStrategyTargetPercentage(address,uint64)": FunctionFragment; "strategy(address)": FunctionFragment; "strategyData(address)": FunctionFragment; "toAmount(address,uint256,bool)": FunctionFragment; "toShare(address,uint256,bool)": FunctionFragment; "totals(address)": FunctionFragment; "transfer(address,address,address,uint256)": FunctionFragment; "transferMultiple(address,address,address[],uint256[])": FunctionFragment; "transferOwnership(address,bool,bool)": FunctionFragment; "whitelistMasterContract(address,bool)": FunctionFragment; "whitelistedMasterContracts(address)": FunctionFragment; "withdraw(address,address,address,uint256,uint256)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "DOMAIN_SEPARATOR" | "balanceOf" | "batch" | "batchFlashLoan" | "claimOwnership" | "deploy" | "deposit" | "flashLoan" | "harvest" | "masterContractApproved" | "masterContractOf" | "nonces" | "owner" | "pendingOwner" | "pendingStrategy" | "permitToken" | "registerProtocol" | "setMasterContractApproval" | "setStrategy" | "setStrategyTargetPercentage" | "strategy" | "strategyData" | "toAmount" | "toShare" | "totals" | "transfer" | "transferMultiple" | "transferOwnership" | "whitelistMasterContract" | "whitelistedMasterContracts" | "withdraw" ): FunctionFragment; encodeFunctionData( functionFragment: "DOMAIN_SEPARATOR", values?: undefined ): string; encodeFunctionData( functionFragment: "balanceOf", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "batch", values: [PromiseOrValue[], PromiseOrValue] ): string; encodeFunctionData( functionFragment: "batchFlashLoan", values: [ PromiseOrValue, PromiseOrValue[], PromiseOrValue[], PromiseOrValue[], PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "claimOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "deploy", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "deposit", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "flashLoan", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "harvest", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "masterContractApproved", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "masterContractOf", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "nonces", values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "pendingOwner", values?: undefined ): string; encodeFunctionData( functionFragment: "pendingStrategy", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "permitToken", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "registerProtocol", values?: undefined ): string; encodeFunctionData( functionFragment: "setMasterContractApproval", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "setStrategy", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "setStrategyTargetPercentage", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "strategy", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "strategyData", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "toAmount", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "toShare", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "totals", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "transfer", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "transferMultiple", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue[], PromiseOrValue[] ] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "whitelistMasterContract", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "whitelistedMasterContracts", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "withdraw", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; decodeFunctionResult( functionFragment: "DOMAIN_SEPARATOR", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "batch", data: BytesLike): Result; decodeFunctionResult( functionFragment: "batchFlashLoan", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "claimOwnership", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "deploy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "harvest", data: BytesLike): Result; decodeFunctionResult( functionFragment: "masterContractApproved", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "masterContractOf", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "pendingOwner", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "pendingStrategy", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "permitToken", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "registerProtocol", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMasterContractApproval", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setStrategy", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setStrategyTargetPercentage", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "strategy", data: BytesLike): Result; decodeFunctionResult( functionFragment: "strategyData", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "toAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "toShare", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferMultiple", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "transferOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "whitelistMasterContract", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "whitelistedMasterContracts", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "LogDeploy(address,bytes,address)": EventFragment; "LogDeposit(address,address,address,uint256,uint256)": EventFragment; "LogFlashLoan(address,address,uint256,uint256,address)": EventFragment; "LogRegisterProtocol(address)": EventFragment; "LogSetMasterContractApproval(address,address,bool)": EventFragment; "LogStrategyDivest(address,uint256)": EventFragment; "LogStrategyInvest(address,uint256)": EventFragment; "LogStrategyLoss(address,uint256)": EventFragment; "LogStrategyProfit(address,uint256)": EventFragment; "LogStrategyQueued(address,address)": EventFragment; "LogStrategySet(address,address)": EventFragment; "LogStrategyTargetPercentage(address,uint256)": EventFragment; "LogTransfer(address,address,address,uint256)": EventFragment; "LogWhiteListMasterContract(address,bool)": EventFragment; "LogWithdraw(address,address,address,uint256,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "LogDeploy"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogDeposit"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogFlashLoan"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogRegisterProtocol"): EventFragment; getEvent( nameOrSignatureOrTopic: "LogSetMasterContractApproval" ): EventFragment; getEvent(nameOrSignatureOrTopic: "LogStrategyDivest"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogStrategyInvest"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogStrategyLoss"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogStrategyProfit"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogStrategyQueued"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogStrategySet"): EventFragment; getEvent( nameOrSignatureOrTopic: "LogStrategyTargetPercentage" ): EventFragment; getEvent(nameOrSignatureOrTopic: "LogTransfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogWhiteListMasterContract"): EventFragment; getEvent(nameOrSignatureOrTopic: "LogWithdraw"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } export interface LogDeployEventObject { masterContract: string; data: string; cloneAddress: string; } export type LogDeployEvent = TypedEvent< [string, string, string], LogDeployEventObject >; export type LogDeployEventFilter = TypedEventFilter; export interface LogDepositEventObject { token: string; from: string; to: string; amount: BigNumber; share: BigNumber; } export type LogDepositEvent = TypedEvent< [string, string, string, BigNumber, BigNumber], LogDepositEventObject >; export type LogDepositEventFilter = TypedEventFilter; export interface LogFlashLoanEventObject { borrower: string; token: string; amount: BigNumber; feeAmount: BigNumber; receiver: string; } export type LogFlashLoanEvent = TypedEvent< [string, string, BigNumber, BigNumber, string], LogFlashLoanEventObject >; export type LogFlashLoanEventFilter = TypedEventFilter; export interface LogRegisterProtocolEventObject { protocol: string; } export type LogRegisterProtocolEvent = TypedEvent< [string], LogRegisterProtocolEventObject >; export type LogRegisterProtocolEventFilter = TypedEventFilter; export interface LogSetMasterContractApprovalEventObject { masterContract: string; user: string; approved: boolean; } export type LogSetMasterContractApprovalEvent = TypedEvent< [string, string, boolean], LogSetMasterContractApprovalEventObject >; export type LogSetMasterContractApprovalEventFilter = TypedEventFilter; export interface LogStrategyDivestEventObject { token: string; amount: BigNumber; } export type LogStrategyDivestEvent = TypedEvent< [string, BigNumber], LogStrategyDivestEventObject >; export type LogStrategyDivestEventFilter = TypedEventFilter; export interface LogStrategyInvestEventObject { token: string; amount: BigNumber; } export type LogStrategyInvestEvent = TypedEvent< [string, BigNumber], LogStrategyInvestEventObject >; export type LogStrategyInvestEventFilter = TypedEventFilter; export interface LogStrategyLossEventObject { token: string; amount: BigNumber; } export type LogStrategyLossEvent = TypedEvent< [string, BigNumber], LogStrategyLossEventObject >; export type LogStrategyLossEventFilter = TypedEventFilter; export interface LogStrategyProfitEventObject { token: string; amount: BigNumber; } export type LogStrategyProfitEvent = TypedEvent< [string, BigNumber], LogStrategyProfitEventObject >; export type LogStrategyProfitEventFilter = TypedEventFilter; export interface LogStrategyQueuedEventObject { token: string; strategy: string; } export type LogStrategyQueuedEvent = TypedEvent< [string, string], LogStrategyQueuedEventObject >; export type LogStrategyQueuedEventFilter = TypedEventFilter; export interface LogStrategySetEventObject { token: string; strategy: string; } export type LogStrategySetEvent = TypedEvent< [string, string], LogStrategySetEventObject >; export type LogStrategySetEventFilter = TypedEventFilter; export interface LogStrategyTargetPercentageEventObject { token: string; targetPercentage: BigNumber; } export type LogStrategyTargetPercentageEvent = TypedEvent< [string, BigNumber], LogStrategyTargetPercentageEventObject >; export type LogStrategyTargetPercentageEventFilter = TypedEventFilter; export interface LogTransferEventObject { token: string; from: string; to: string; share: BigNumber; } export type LogTransferEvent = TypedEvent< [string, string, string, BigNumber], LogTransferEventObject >; export type LogTransferEventFilter = TypedEventFilter; export interface LogWhiteListMasterContractEventObject { masterContract: string; approved: boolean; } export type LogWhiteListMasterContractEvent = TypedEvent< [string, boolean], LogWhiteListMasterContractEventObject >; export type LogWhiteListMasterContractEventFilter = TypedEventFilter; export interface LogWithdrawEventObject { token: string; from: string; to: string; amount: BigNumber; share: BigNumber; } export type LogWithdrawEvent = TypedEvent< [string, string, string, BigNumber, BigNumber], LogWithdrawEventObject >; export type LogWithdrawEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent< [string, string], OwnershipTransferredEventObject >; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface BentoBoxV1 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: BentoBoxV1Interface; 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]>; balanceOf( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; batch( calls: PromiseOrValue[], revertOnFail: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; batchFlashLoan( borrower: PromiseOrValue, receivers: PromiseOrValue[], tokens: PromiseOrValue[], amounts: PromiseOrValue[], data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; deploy( masterContract: PromiseOrValue, data: PromiseOrValue, useCreate2: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; deposit( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; flashLoan( borrower: PromiseOrValue, receiver: PromiseOrValue, token: PromiseOrValue, amount: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; harvest( token: PromiseOrValue, balance: PromiseOrValue, maxChangeAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContractApproved( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; masterContractOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[string]>; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; pendingOwner(overrides?: CallOverrides): Promise<[string]>; pendingStrategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[string]>; permitToken( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; registerProtocol( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMasterContractApproval( user: PromiseOrValue, masterContract: PromiseOrValue, approved: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategy( token: PromiseOrValue, newStrategy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategyTargetPercentage( token: PromiseOrValue, targetPercentage_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; strategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[string]>; strategyData( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; toAmount( token: PromiseOrValue, share: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { amount: BigNumber }>; toShare( token: PromiseOrValue, amount: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { share: BigNumber }>; totals( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; transfer( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferMultiple( token: PromiseOrValue, from: PromiseOrValue, tos: PromiseOrValue[], shares: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistMasterContract( masterContract: PromiseOrValue, approved: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistedMasterContracts( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; withdraw( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; batch( calls: PromiseOrValue[], revertOnFail: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; batchFlashLoan( borrower: PromiseOrValue, receivers: PromiseOrValue[], tokens: PromiseOrValue[], amounts: PromiseOrValue[], data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; deploy( masterContract: PromiseOrValue, data: PromiseOrValue, useCreate2: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; deposit( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; flashLoan( borrower: PromiseOrValue, receiver: PromiseOrValue, token: PromiseOrValue, amount: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; harvest( token: PromiseOrValue, balance: PromiseOrValue, maxChangeAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContractApproved( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; masterContractOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; pendingStrategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; permitToken( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; registerProtocol( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMasterContractApproval( user: PromiseOrValue, masterContract: PromiseOrValue, approved: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategy( token: PromiseOrValue, newStrategy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategyTargetPercentage( token: PromiseOrValue, targetPercentage_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; strategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; strategyData( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; toAmount( token: PromiseOrValue, share: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; toShare( token: PromiseOrValue, amount: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; totals( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber }>; transfer( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferMultiple( token: PromiseOrValue, from: PromiseOrValue, tos: PromiseOrValue[], shares: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistMasterContract( masterContract: PromiseOrValue, approved: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistedMasterContracts( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdraw( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; batch( calls: PromiseOrValue[], revertOnFail: PromiseOrValue, overrides?: CallOverrides ): Promise< [boolean[], string[]] & { successes: boolean[]; results: string[] } >; batchFlashLoan( borrower: PromiseOrValue, receivers: PromiseOrValue[], tokens: PromiseOrValue[], amounts: PromiseOrValue[], data: PromiseOrValue, overrides?: CallOverrides ): Promise; claimOwnership(overrides?: CallOverrides): Promise; deploy( masterContract: PromiseOrValue, data: PromiseOrValue, useCreate2: PromiseOrValue, overrides?: CallOverrides ): Promise; deposit( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountOut: BigNumber; shareOut: BigNumber } >; flashLoan( borrower: PromiseOrValue, receiver: PromiseOrValue, token: PromiseOrValue, amount: PromiseOrValue, data: PromiseOrValue, overrides?: CallOverrides ): Promise; harvest( token: PromiseOrValue, balance: PromiseOrValue, maxChangeAmount: PromiseOrValue, overrides?: CallOverrides ): Promise; masterContractApproved( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; masterContractOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; pendingStrategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; permitToken( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides ): Promise; registerProtocol(overrides?: CallOverrides): Promise; setMasterContractApproval( user: PromiseOrValue, masterContract: PromiseOrValue, approved: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: CallOverrides ): Promise; setStrategy( token: PromiseOrValue, newStrategy: PromiseOrValue, overrides?: CallOverrides ): Promise; setStrategyTargetPercentage( token: PromiseOrValue, targetPercentage_: PromiseOrValue, overrides?: CallOverrides ): Promise; strategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; strategyData( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; toAmount( token: PromiseOrValue, share: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; toShare( token: PromiseOrValue, amount: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; totals( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; transfer( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, share: PromiseOrValue, overrides?: CallOverrides ): Promise; transferMultiple( token: PromiseOrValue, from: PromiseOrValue, tos: PromiseOrValue[], shares: PromiseOrValue[], overrides?: CallOverrides ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: CallOverrides ): Promise; whitelistMasterContract( masterContract: PromiseOrValue, approved: PromiseOrValue, overrides?: CallOverrides ): Promise; whitelistedMasterContracts( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdraw( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountOut: BigNumber; shareOut: BigNumber } >; }; filters: { "LogDeploy(address,bytes,address)"( masterContract?: PromiseOrValue | null, data?: null, cloneAddress?: PromiseOrValue | null ): LogDeployEventFilter; LogDeploy( masterContract?: PromiseOrValue | null, data?: null, cloneAddress?: PromiseOrValue | null ): LogDeployEventFilter; "LogDeposit(address,address,address,uint256,uint256)"( token?: PromiseOrValue | null, from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, share?: null ): LogDepositEventFilter; LogDeposit( token?: PromiseOrValue | null, from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, share?: null ): LogDepositEventFilter; "LogFlashLoan(address,address,uint256,uint256,address)"( borrower?: PromiseOrValue | null, token?: PromiseOrValue | null, amount?: null, feeAmount?: null, receiver?: PromiseOrValue | null ): LogFlashLoanEventFilter; LogFlashLoan( borrower?: PromiseOrValue | null, token?: PromiseOrValue | null, amount?: null, feeAmount?: null, receiver?: PromiseOrValue | null ): LogFlashLoanEventFilter; "LogRegisterProtocol(address)"( protocol?: PromiseOrValue | null ): LogRegisterProtocolEventFilter; LogRegisterProtocol( protocol?: PromiseOrValue | null ): LogRegisterProtocolEventFilter; "LogSetMasterContractApproval(address,address,bool)"( masterContract?: PromiseOrValue | null, user?: PromiseOrValue | null, approved?: null ): LogSetMasterContractApprovalEventFilter; LogSetMasterContractApproval( masterContract?: PromiseOrValue | null, user?: PromiseOrValue | null, approved?: null ): LogSetMasterContractApprovalEventFilter; "LogStrategyDivest(address,uint256)"( token?: PromiseOrValue | null, amount?: null ): LogStrategyDivestEventFilter; LogStrategyDivest( token?: PromiseOrValue | null, amount?: null ): LogStrategyDivestEventFilter; "LogStrategyInvest(address,uint256)"( token?: PromiseOrValue | null, amount?: null ): LogStrategyInvestEventFilter; LogStrategyInvest( token?: PromiseOrValue | null, amount?: null ): LogStrategyInvestEventFilter; "LogStrategyLoss(address,uint256)"( token?: PromiseOrValue | null, amount?: null ): LogStrategyLossEventFilter; LogStrategyLoss( token?: PromiseOrValue | null, amount?: null ): LogStrategyLossEventFilter; "LogStrategyProfit(address,uint256)"( token?: PromiseOrValue | null, amount?: null ): LogStrategyProfitEventFilter; LogStrategyProfit( token?: PromiseOrValue | null, amount?: null ): LogStrategyProfitEventFilter; "LogStrategyQueued(address,address)"( token?: PromiseOrValue | null, strategy?: PromiseOrValue | null ): LogStrategyQueuedEventFilter; LogStrategyQueued( token?: PromiseOrValue | null, strategy?: PromiseOrValue | null ): LogStrategyQueuedEventFilter; "LogStrategySet(address,address)"( token?: PromiseOrValue | null, strategy?: PromiseOrValue | null ): LogStrategySetEventFilter; LogStrategySet( token?: PromiseOrValue | null, strategy?: PromiseOrValue | null ): LogStrategySetEventFilter; "LogStrategyTargetPercentage(address,uint256)"( token?: PromiseOrValue | null, targetPercentage?: null ): LogStrategyTargetPercentageEventFilter; LogStrategyTargetPercentage( token?: PromiseOrValue | null, targetPercentage?: null ): LogStrategyTargetPercentageEventFilter; "LogTransfer(address,address,address,uint256)"( token?: PromiseOrValue | null, from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null ): LogTransferEventFilter; LogTransfer( token?: PromiseOrValue | null, from?: PromiseOrValue | null, to?: PromiseOrValue | null, share?: null ): LogTransferEventFilter; "LogWhiteListMasterContract(address,bool)"( masterContract?: PromiseOrValue | null, approved?: null ): LogWhiteListMasterContractEventFilter; LogWhiteListMasterContract( masterContract?: PromiseOrValue | null, approved?: null ): LogWhiteListMasterContractEventFilter; "LogWithdraw(address,address,address,uint256,uint256)"( token?: PromiseOrValue | null, from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, share?: null ): LogWithdrawEventFilter; LogWithdraw( token?: PromiseOrValue | null, from?: PromiseOrValue | null, to?: PromiseOrValue | null, amount?: null, share?: null ): LogWithdrawEventFilter; "OwnershipTransferred(address,address)"( previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; OwnershipTransferred( previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; }; estimateGas: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; batch( calls: PromiseOrValue[], revertOnFail: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; batchFlashLoan( borrower: PromiseOrValue, receivers: PromiseOrValue[], tokens: PromiseOrValue[], amounts: PromiseOrValue[], data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; deploy( masterContract: PromiseOrValue, data: PromiseOrValue, useCreate2: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; deposit( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; flashLoan( borrower: PromiseOrValue, receiver: PromiseOrValue, token: PromiseOrValue, amount: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; harvest( token: PromiseOrValue, balance: PromiseOrValue, maxChangeAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContractApproved( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; masterContractOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; pendingStrategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; permitToken( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; registerProtocol( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMasterContractApproval( user: PromiseOrValue, masterContract: PromiseOrValue, approved: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategy( token: PromiseOrValue, newStrategy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategyTargetPercentage( token: PromiseOrValue, targetPercentage_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; strategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; strategyData( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; toAmount( token: PromiseOrValue, share: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; toShare( token: PromiseOrValue, amount: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; totals( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; transfer( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferMultiple( token: PromiseOrValue, from: PromiseOrValue, tos: PromiseOrValue[], shares: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistMasterContract( masterContract: PromiseOrValue, approved: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistedMasterContracts( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdraw( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; balanceOf( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; batch( calls: PromiseOrValue[], revertOnFail: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; batchFlashLoan( borrower: PromiseOrValue, receivers: PromiseOrValue[], tokens: PromiseOrValue[], amounts: PromiseOrValue[], data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; claimOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; deploy( masterContract: PromiseOrValue, data: PromiseOrValue, useCreate2: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; deposit( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; flashLoan( borrower: PromiseOrValue, receiver: PromiseOrValue, token: PromiseOrValue, amount: PromiseOrValue, data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; harvest( token: PromiseOrValue, balance: PromiseOrValue, maxChangeAmount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; masterContractApproved( arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides ): Promise; masterContractOf( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; nonces( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; pendingStrategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; permitToken( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, deadline: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; registerProtocol( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMasterContractApproval( user: PromiseOrValue, masterContract: PromiseOrValue, approved: PromiseOrValue, v: PromiseOrValue, r: PromiseOrValue, s: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategy( token: PromiseOrValue, newStrategy: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setStrategyTargetPercentage( token: PromiseOrValue, targetPercentage_: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; strategy( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; strategyData( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; toAmount( token: PromiseOrValue, share: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; toShare( token: PromiseOrValue, amount: PromiseOrValue, roundUp: PromiseOrValue, overrides?: CallOverrides ): Promise; totals( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; transfer( token: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferMultiple( token: PromiseOrValue, from: PromiseOrValue, tos: PromiseOrValue[], shares: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, direct: PromiseOrValue, renounce: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistMasterContract( masterContract: PromiseOrValue, approved: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; whitelistedMasterContracts( arg0: PromiseOrValue, overrides?: CallOverrides ): Promise; withdraw( token_: PromiseOrValue, from: PromiseOrValue, to: PromiseOrValue, amount: PromiseOrValue, share: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; }