/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { ethers, EventFilter, Signer, BigNumber, BigNumberish, PopulatedTransaction, } from "ethers"; import { Contract, ContractTransaction, Overrides, PayableOverrides, CallOverrides, } from "@ethersproject/contracts"; import { BytesLike } from "@ethersproject/bytes"; import { Listener, Provider } from "@ethersproject/providers"; import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; interface BentoBoxV1Interface extends ethers.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; }; encodeFunctionData( functionFragment: "DOMAIN_SEPARATOR", values?: undefined ): string; encodeFunctionData( functionFragment: "balanceOf", values: [string, string] ): string; encodeFunctionData( functionFragment: "batch", values: [BytesLike[], boolean] ): string; encodeFunctionData( functionFragment: "batchFlashLoan", values: [string, string[], string[], BigNumberish[], BytesLike] ): string; encodeFunctionData( functionFragment: "claimOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "deploy", values: [string, BytesLike, boolean] ): string; encodeFunctionData( functionFragment: "deposit", values: [string, string, string, BigNumberish, BigNumberish] ): string; encodeFunctionData( functionFragment: "flashLoan", values: [string, string, string, BigNumberish, BytesLike] ): string; encodeFunctionData( functionFragment: "harvest", values: [string, boolean, BigNumberish] ): string; encodeFunctionData( functionFragment: "masterContractApproved", values: [string, string] ): string; encodeFunctionData( functionFragment: "masterContractOf", values: [string] ): string; encodeFunctionData(functionFragment: "nonces", values: [string]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "pendingOwner", values?: undefined ): string; encodeFunctionData( functionFragment: "pendingStrategy", values: [string] ): string; encodeFunctionData( functionFragment: "permitToken", values: [ string, string, string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ] ): string; encodeFunctionData( functionFragment: "registerProtocol", values?: undefined ): string; encodeFunctionData( functionFragment: "setMasterContractApproval", values: [string, string, boolean, BigNumberish, BytesLike, BytesLike] ): string; encodeFunctionData( functionFragment: "setStrategy", values: [string, string] ): string; encodeFunctionData( functionFragment: "setStrategyTargetPercentage", values: [string, BigNumberish] ): string; encodeFunctionData(functionFragment: "strategy", values: [string]): string; encodeFunctionData( functionFragment: "strategyData", values: [string] ): string; encodeFunctionData( functionFragment: "toAmount", values: [string, BigNumberish, boolean] ): string; encodeFunctionData( functionFragment: "toShare", values: [string, BigNumberish, boolean] ): string; encodeFunctionData(functionFragment: "totals", values: [string]): string; encodeFunctionData( functionFragment: "transfer", values: [string, string, string, BigNumberish] ): string; encodeFunctionData( functionFragment: "transferMultiple", values: [string, string, string[], BigNumberish[]] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [string, boolean, boolean] ): string; encodeFunctionData( functionFragment: "whitelistMasterContract", values: [string, boolean] ): string; encodeFunctionData( functionFragment: "whitelistedMasterContracts", values: [string] ): string; encodeFunctionData( functionFragment: "withdraw", values: [string, string, string, BigNumberish, BigNumberish] ): 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 class BentoBoxV1 extends Contract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; on(event: EventFilter | string, listener: Listener): this; once(event: EventFilter | string, listener: Listener): this; addListener(eventName: EventFilter | string, listener: Listener): this; removeAllListeners(eventName: EventFilter | string): this; removeListener(eventName: any, listener: Listener): this; interface: BentoBoxV1Interface; functions: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise<[string]>; balanceOf( arg0: string, arg1: string, overrides?: CallOverrides ): Promise<[BigNumber]>; "balanceOf(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise<[BigNumber]>; batch( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; "batch(bytes[],bool)"( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; batchFlashLoan( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; "batchFlashLoan(address,address[],address[],uint256[],bytes)"( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; claimOwnership(overrides?: Overrides): Promise; "claimOwnership()"(overrides?: Overrides): Promise; deploy( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; "deploy(address,bytes,bool)"( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; deposit( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; "deposit(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; flashLoan( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; "flashLoan(address,address,address,uint256,bytes)"( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; harvest( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; "harvest(address,bool,uint256)"( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; masterContractApproved( arg0: string, arg1: string, overrides?: CallOverrides ): Promise<[boolean]>; "masterContractApproved(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise<[boolean]>; masterContractOf( arg0: string, overrides?: CallOverrides ): Promise<[string]>; "masterContractOf(address)"( arg0: string, overrides?: CallOverrides ): Promise<[string]>; nonces(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; "nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; "owner()"(overrides?: CallOverrides): Promise<[string]>; pendingOwner(overrides?: CallOverrides): Promise<[string]>; "pendingOwner()"(overrides?: CallOverrides): Promise<[string]>; pendingStrategy(arg0: string, overrides?: CallOverrides): Promise<[string]>; "pendingStrategy(address)"( arg0: string, overrides?: CallOverrides ): Promise<[string]>; permitToken( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32)"( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; registerProtocol(overrides?: Overrides): Promise; "registerProtocol()"(overrides?: Overrides): Promise; setMasterContractApproval( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)"( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; setStrategy( token: string, newStrategy: string, overrides?: Overrides ): Promise; "setStrategy(address,address)"( token: string, newStrategy: string, overrides?: Overrides ): Promise; setStrategyTargetPercentage( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; "setStrategyTargetPercentage(address,uint64)"( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; strategy(arg0: string, overrides?: CallOverrides): Promise<[string]>; "strategy(address)"( arg0: string, overrides?: CallOverrides ): Promise<[string]>; strategyData( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; "strategyData(address)"( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; toAmount( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise<[BigNumber] & { amount: BigNumber }>; "toAmount(address,uint256,bool)"( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise<[BigNumber] & { amount: BigNumber }>; toShare( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise<[BigNumber] & { share: BigNumber }>; "toShare(address,uint256,bool)"( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise<[BigNumber] & { share: BigNumber }>; totals( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; "totals(address)"( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; transfer( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; "transfer(address,address,address,uint256)"( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; transferMultiple( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; "transferMultiple(address,address,address[],uint256[])"( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; transferOwnership( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; "transferOwnership(address,bool,bool)"( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; whitelistMasterContract( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; "whitelistMasterContract(address,bool)"( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; whitelistedMasterContracts( arg0: string, overrides?: CallOverrides ): Promise<[boolean]>; "whitelistedMasterContracts(address)"( arg0: string, overrides?: CallOverrides ): Promise<[boolean]>; withdraw( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; "withdraw(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; }; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise; balanceOf( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "balanceOf(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; batch( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; "batch(bytes[],bool)"( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; batchFlashLoan( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; "batchFlashLoan(address,address[],address[],uint256[],bytes)"( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; claimOwnership(overrides?: Overrides): Promise; "claimOwnership()"(overrides?: Overrides): Promise; deploy( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; "deploy(address,bytes,bool)"( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; deposit( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; "deposit(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; flashLoan( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; "flashLoan(address,address,address,uint256,bytes)"( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; harvest( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; "harvest(address,bool,uint256)"( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; masterContractApproved( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "masterContractApproved(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; masterContractOf(arg0: string, overrides?: CallOverrides): Promise; "masterContractOf(address)"( arg0: string, overrides?: CallOverrides ): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; "nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; "owner()"(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; "pendingOwner()"(overrides?: CallOverrides): Promise; pendingStrategy(arg0: string, overrides?: CallOverrides): Promise; "pendingStrategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; permitToken( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32)"( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; registerProtocol(overrides?: Overrides): Promise; "registerProtocol()"(overrides?: Overrides): Promise; setMasterContractApproval( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)"( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; setStrategy( token: string, newStrategy: string, overrides?: Overrides ): Promise; "setStrategy(address,address)"( token: string, newStrategy: string, overrides?: Overrides ): Promise; setStrategyTargetPercentage( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; "setStrategyTargetPercentage(address,uint64)"( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; strategy(arg0: string, overrides?: CallOverrides): Promise; "strategy(address)"(arg0: string, overrides?: CallOverrides): Promise; strategyData( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; "strategyData(address)"( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; toAmount( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toAmount(address,uint256,bool)"( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; toShare( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toShare(address,uint256,bool)"( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; totals( arg0: string, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber }>; "totals(address)"( arg0: string, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber }>; transfer( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; "transfer(address,address,address,uint256)"( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; transferMultiple( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; "transferMultiple(address,address,address[],uint256[])"( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; transferOwnership( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; "transferOwnership(address,bool,bool)"( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; whitelistMasterContract( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; "whitelistMasterContract(address,bool)"( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; whitelistedMasterContracts( arg0: string, overrides?: CallOverrides ): Promise; "whitelistedMasterContracts(address)"( arg0: string, overrides?: CallOverrides ): Promise; withdraw( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; "withdraw(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; callStatic: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise; balanceOf( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "balanceOf(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; batch( calls: BytesLike[], revertOnFail: boolean, overrides?: CallOverrides ): Promise< [boolean[], string[]] & { successes: boolean[]; results: string[] } >; "batch(bytes[],bool)"( calls: BytesLike[], revertOnFail: boolean, overrides?: CallOverrides ): Promise< [boolean[], string[]] & { successes: boolean[]; results: string[] } >; batchFlashLoan( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; "batchFlashLoan(address,address[],address[],uint256[],bytes)"( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: CallOverrides ): Promise; claimOwnership(overrides?: CallOverrides): Promise; "claimOwnership()"(overrides?: CallOverrides): Promise; deploy( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: CallOverrides ): Promise; "deploy(address,bytes,bool)"( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: CallOverrides ): Promise; deposit( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountOut: BigNumber; shareOut: BigNumber } >; "deposit(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountOut: BigNumber; shareOut: BigNumber } >; flashLoan( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; "flashLoan(address,address,address,uint256,bytes)"( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides ): Promise; harvest( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: CallOverrides ): Promise; "harvest(address,bool,uint256)"( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: CallOverrides ): Promise; masterContractApproved( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "masterContractApproved(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; masterContractOf(arg0: string, overrides?: CallOverrides): Promise; "masterContractOf(address)"( arg0: string, overrides?: CallOverrides ): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; "nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; "owner()"(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; "pendingOwner()"(overrides?: CallOverrides): Promise; pendingStrategy(arg0: string, overrides?: CallOverrides): Promise; "pendingStrategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; permitToken( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; "permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32)"( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; registerProtocol(overrides?: CallOverrides): Promise; "registerProtocol()"(overrides?: CallOverrides): Promise; setMasterContractApproval( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)"( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides ): Promise; setStrategy( token: string, newStrategy: string, overrides?: CallOverrides ): Promise; "setStrategy(address,address)"( token: string, newStrategy: string, overrides?: CallOverrides ): Promise; setStrategyTargetPercentage( token: string, targetPercentage_: BigNumberish, overrides?: CallOverrides ): Promise; "setStrategyTargetPercentage(address,uint64)"( token: string, targetPercentage_: BigNumberish, overrides?: CallOverrides ): Promise; strategy(arg0: string, overrides?: CallOverrides): Promise; "strategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; strategyData( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; "strategyData(address)"( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { strategyStartDate: BigNumber; targetPercentage: BigNumber; balance: BigNumber; } >; toAmount( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toAmount(address,uint256,bool)"( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; toShare( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toShare(address,uint256,bool)"( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; totals( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; "totals(address)"( arg0: string, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { elastic: BigNumber; base: BigNumber } >; transfer( token: string, from: string, to: string, share: BigNumberish, overrides?: CallOverrides ): Promise; "transfer(address,address,address,uint256)"( token: string, from: string, to: string, share: BigNumberish, overrides?: CallOverrides ): Promise; transferMultiple( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: CallOverrides ): Promise; "transferMultiple(address,address,address[],uint256[])"( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: CallOverrides ): Promise; transferOwnership( newOwner: string, direct: boolean, renounce: boolean, overrides?: CallOverrides ): Promise; "transferOwnership(address,bool,bool)"( newOwner: string, direct: boolean, renounce: boolean, overrides?: CallOverrides ): Promise; whitelistMasterContract( masterContract: string, approved: boolean, overrides?: CallOverrides ): Promise; "whitelistMasterContract(address,bool)"( masterContract: string, approved: boolean, overrides?: CallOverrides ): Promise; whitelistedMasterContracts( arg0: string, overrides?: CallOverrides ): Promise; "whitelistedMasterContracts(address)"( arg0: string, overrides?: CallOverrides ): Promise; withdraw( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountOut: BigNumber; shareOut: BigNumber } >; "withdraw(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { amountOut: BigNumber; shareOut: BigNumber } >; }; filters: { LogDeploy( masterContract: string | null, data: null, cloneAddress: string | null ): EventFilter; LogDeposit( token: string | null, from: string | null, to: string | null, amount: null, share: null ): EventFilter; LogFlashLoan( borrower: string | null, token: string | null, amount: null, feeAmount: null, receiver: string | null ): EventFilter; LogRegisterProtocol(protocol: string | null): EventFilter; LogSetMasterContractApproval( masterContract: string | null, user: string | null, approved: null ): EventFilter; LogStrategyDivest(token: string | null, amount: null): EventFilter; LogStrategyInvest(token: string | null, amount: null): EventFilter; LogStrategyLoss(token: string | null, amount: null): EventFilter; LogStrategyProfit(token: string | null, amount: null): EventFilter; LogStrategyQueued( token: string | null, strategy: string | null ): EventFilter; LogStrategySet(token: string | null, strategy: string | null): EventFilter; LogStrategyTargetPercentage( token: string | null, targetPercentage: null ): EventFilter; LogTransfer( token: string | null, from: string | null, to: string | null, share: null ): EventFilter; LogWhiteListMasterContract( masterContract: string | null, approved: null ): EventFilter; LogWithdraw( token: string | null, from: string | null, to: string | null, amount: null, share: null ): EventFilter; OwnershipTransferred( previousOwner: string | null, newOwner: string | null ): EventFilter; }; estimateGas: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; "DOMAIN_SEPARATOR()"(overrides?: CallOverrides): Promise; balanceOf( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "balanceOf(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; batch( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; "batch(bytes[],bool)"( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; batchFlashLoan( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; "batchFlashLoan(address,address[],address[],uint256[],bytes)"( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; claimOwnership(overrides?: Overrides): Promise; "claimOwnership()"(overrides?: Overrides): Promise; deploy( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; "deploy(address,bytes,bool)"( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; deposit( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; "deposit(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; flashLoan( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; "flashLoan(address,address,address,uint256,bytes)"( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; harvest( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; "harvest(address,bool,uint256)"( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; masterContractApproved( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "masterContractApproved(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; masterContractOf( arg0: string, overrides?: CallOverrides ): Promise; "masterContractOf(address)"( arg0: string, overrides?: CallOverrides ): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; "nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; "owner()"(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; "pendingOwner()"(overrides?: CallOverrides): Promise; pendingStrategy( arg0: string, overrides?: CallOverrides ): Promise; "pendingStrategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; permitToken( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32)"( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; registerProtocol(overrides?: Overrides): Promise; "registerProtocol()"(overrides?: Overrides): Promise; setMasterContractApproval( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)"( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; setStrategy( token: string, newStrategy: string, overrides?: Overrides ): Promise; "setStrategy(address,address)"( token: string, newStrategy: string, overrides?: Overrides ): Promise; setStrategyTargetPercentage( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; "setStrategyTargetPercentage(address,uint64)"( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; strategy(arg0: string, overrides?: CallOverrides): Promise; "strategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; strategyData(arg0: string, overrides?: CallOverrides): Promise; "strategyData(address)"( arg0: string, overrides?: CallOverrides ): Promise; toAmount( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toAmount(address,uint256,bool)"( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; toShare( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toShare(address,uint256,bool)"( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; totals(arg0: string, overrides?: CallOverrides): Promise; "totals(address)"( arg0: string, overrides?: CallOverrides ): Promise; transfer( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; "transfer(address,address,address,uint256)"( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; transferMultiple( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; "transferMultiple(address,address,address[],uint256[])"( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; transferOwnership( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; "transferOwnership(address,bool,bool)"( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; whitelistMasterContract( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; "whitelistMasterContract(address,bool)"( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; whitelistedMasterContracts( arg0: string, overrides?: CallOverrides ): Promise; "whitelistedMasterContracts(address)"( arg0: string, overrides?: CallOverrides ): Promise; withdraw( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; "withdraw(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; }; populateTransaction: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; "DOMAIN_SEPARATOR()"( overrides?: CallOverrides ): Promise; balanceOf( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "balanceOf(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; batch( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; "batch(bytes[],bool)"( calls: BytesLike[], revertOnFail: boolean, overrides?: PayableOverrides ): Promise; batchFlashLoan( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; "batchFlashLoan(address,address[],address[],uint256[],bytes)"( borrower: string, receivers: string[], tokens: string[], amounts: BigNumberish[], data: BytesLike, overrides?: Overrides ): Promise; claimOwnership(overrides?: Overrides): Promise; "claimOwnership()"(overrides?: Overrides): Promise; deploy( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; "deploy(address,bytes,bool)"( masterContract: string, data: BytesLike, useCreate2: boolean, overrides?: PayableOverrides ): Promise; deposit( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; "deposit(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: PayableOverrides ): Promise; flashLoan( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; "flashLoan(address,address,address,uint256,bytes)"( borrower: string, receiver: string, token: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides ): Promise; harvest( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; "harvest(address,bool,uint256)"( token: string, balance: boolean, maxChangeAmount: BigNumberish, overrides?: Overrides ): Promise; masterContractApproved( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; "masterContractApproved(address,address)"( arg0: string, arg1: string, overrides?: CallOverrides ): Promise; masterContractOf( arg0: string, overrides?: CallOverrides ): Promise; "masterContractOf(address)"( arg0: string, overrides?: CallOverrides ): Promise; nonces( arg0: string, overrides?: CallOverrides ): Promise; "nonces(address)"( arg0: string, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; "owner()"(overrides?: CallOverrides): Promise; pendingOwner(overrides?: CallOverrides): Promise; "pendingOwner()"(overrides?: CallOverrides): Promise; pendingStrategy( arg0: string, overrides?: CallOverrides ): Promise; "pendingStrategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; permitToken( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "permitToken(address,address,address,uint256,uint256,uint8,bytes32,bytes32)"( token: string, from: string, to: string, amount: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; registerProtocol(overrides?: Overrides): Promise; "registerProtocol()"(overrides?: Overrides): Promise; setMasterContractApproval( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; "setMasterContractApproval(address,address,bool,uint8,bytes32,bytes32)"( user: string, masterContract: string, approved: boolean, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides ): Promise; setStrategy( token: string, newStrategy: string, overrides?: Overrides ): Promise; "setStrategy(address,address)"( token: string, newStrategy: string, overrides?: Overrides ): Promise; setStrategyTargetPercentage( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; "setStrategyTargetPercentage(address,uint64)"( token: string, targetPercentage_: BigNumberish, overrides?: Overrides ): Promise; strategy( arg0: string, overrides?: CallOverrides ): Promise; "strategy(address)"( arg0: string, overrides?: CallOverrides ): Promise; strategyData( arg0: string, overrides?: CallOverrides ): Promise; "strategyData(address)"( arg0: string, overrides?: CallOverrides ): Promise; toAmount( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toAmount(address,uint256,bool)"( token: string, share: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; toShare( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; "toShare(address,uint256,bool)"( token: string, amount: BigNumberish, roundUp: boolean, overrides?: CallOverrides ): Promise; totals( arg0: string, overrides?: CallOverrides ): Promise; "totals(address)"( arg0: string, overrides?: CallOverrides ): Promise; transfer( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; "transfer(address,address,address,uint256)"( token: string, from: string, to: string, share: BigNumberish, overrides?: Overrides ): Promise; transferMultiple( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; "transferMultiple(address,address,address[],uint256[])"( token: string, from: string, tos: string[], shares: BigNumberish[], overrides?: Overrides ): Promise; transferOwnership( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; "transferOwnership(address,bool,bool)"( newOwner: string, direct: boolean, renounce: boolean, overrides?: Overrides ): Promise; whitelistMasterContract( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; "whitelistMasterContract(address,bool)"( masterContract: string, approved: boolean, overrides?: Overrides ): Promise; whitelistedMasterContracts( arg0: string, overrides?: CallOverrides ): Promise; "whitelistedMasterContracts(address)"( arg0: string, overrides?: CallOverrides ): Promise; withdraw( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; "withdraw(address,address,address,uint256,uint256)"( token_: string, from: string, to: string, amount: BigNumberish, share: BigNumberish, overrides?: Overrides ): Promise; }; }