import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface MockERC20YearnVaultInterface extends utils.Interface { functions: { "DEGRADATION_COEFFICIENT()": FunctionFragment; "DOMAIN_SEPARATOR()": FunctionFragment; "PERMIT_TYPEHASH()": FunctionFragment; "allowance(address,address)": FunctionFragment; "apiVersion()": FunctionFragment; "approve(address,uint256)": FunctionFragment; "authorize(address)": FunctionFragment; "authorized(address)": FunctionFragment; "balanceOf(address)": FunctionFragment; "deauthorize(address)": FunctionFragment; "decimals()": FunctionFragment; "deposit(uint256,address)": FunctionFragment; "governance()": FunctionFragment; "isAuthorized(address)": FunctionFragment; "lastReport()": FunctionFragment; "lockedProfit()": FunctionFragment; "lockedProfitDegradation()": FunctionFragment; "name()": FunctionFragment; "nonces(address)": FunctionFragment; "owner()": FunctionFragment; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "precisionFactor()": FunctionFragment; "pricePerShare()": FunctionFragment; "report(uint256)": FunctionFragment; "setDepositLimit(uint256)": FunctionFragment; "setOwner(address)": FunctionFragment; "symbol()": FunctionFragment; "token()": FunctionFragment; "totalAssets()": FunctionFragment; "totalShares()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "withdraw(uint256,address,uint256)": FunctionFragment; }; encodeFunctionData(functionFragment: "DEGRADATION_COEFFICIENT", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_SEPARATOR", values?: undefined): string; encodeFunctionData(functionFragment: "PERMIT_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "allowance", values: [string, string]): string; encodeFunctionData(functionFragment: "apiVersion", values?: undefined): string; encodeFunctionData(functionFragment: "approve", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "authorize", values: [string]): string; encodeFunctionData(functionFragment: "authorized", values: [string]): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData(functionFragment: "deauthorize", values: [string]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "deposit", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "governance", values?: undefined): string; encodeFunctionData(functionFragment: "isAuthorized", values: [string]): string; encodeFunctionData(functionFragment: "lastReport", values?: undefined): string; encodeFunctionData(functionFragment: "lockedProfit", values?: undefined): string; encodeFunctionData(functionFragment: "lockedProfitDegradation", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [string]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "permit", values: [ string, string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "precisionFactor", values?: undefined): string; encodeFunctionData(functionFragment: "pricePerShare", values?: undefined): string; encodeFunctionData(functionFragment: "report", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setDepositLimit", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setOwner", values: [string]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "token", values?: undefined): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "totalShares", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "transferFrom", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "withdraw", values: [BigNumberish, string, BigNumberish]): string; decodeFunctionResult(functionFragment: "DEGRADATION_COEFFICIENT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_SEPARATOR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PERMIT_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "apiVersion", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deauthorize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "governance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isAuthorized", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lastReport", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedProfit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockedProfitDegradation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "precisionFactor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pricePerShare", data: BytesLike): Result; decodeFunctionResult(functionFragment: "report", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDepositLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export declare type ApprovalEvent = TypedEvent<[ string, string, BigNumber ], { owner: string; spender: string; value: BigNumber; }>; export declare type ApprovalEventFilter = TypedEventFilter; export declare type TransferEvent = TypedEvent<[ string, string, BigNumber ], { from: string; to: string; value: BigNumber; }>; export declare type TransferEventFilter = TypedEventFilter; export interface MockERC20YearnVault extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: MockERC20YearnVaultInterface; 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: { DEGRADATION_COEFFICIENT(overrides?: CallOverrides): Promise<[BigNumber]>; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; allowance(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[BigNumber]>; apiVersion(overrides?: CallOverrides): Promise<[string]>; approve(account: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; authorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; authorized(arg0: string, overrides?: CallOverrides): Promise<[boolean]>; balanceOf(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; deauthorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; deposit(_amount: BigNumberish, _recipient: string, overrides?: Overrides & { from?: string | Promise; }): Promise; governance(overrides?: CallOverrides): Promise<[string]>; isAuthorized(who: string, overrides?: CallOverrides): Promise<[boolean]>; lastReport(overrides?: CallOverrides): Promise<[BigNumber]>; lockedProfit(overrides?: CallOverrides): Promise<[BigNumber]>; lockedProfitDegradation(overrides?: CallOverrides): Promise<[BigNumber]>; name(overrides?: CallOverrides): Promise<[string]>; nonces(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; precisionFactor(overrides?: CallOverrides): Promise<[BigNumber]>; pricePerShare(overrides?: CallOverrides): Promise<[BigNumber]>; report(_deposit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setDepositLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setOwner(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise<[string]>; token(overrides?: CallOverrides): Promise<[string]>; totalAssets(overrides?: CallOverrides): Promise<[BigNumber]>; totalShares(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; transferFrom(spender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; withdraw(_maxShares: BigNumberish, _recipient: string, _maxLoss: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; DEGRADATION_COEFFICIENT(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: string, arg1: string, overrides?: CallOverrides): Promise; apiVersion(overrides?: CallOverrides): Promise; approve(account: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; authorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; authorized(arg0: string, overrides?: CallOverrides): Promise; balanceOf(arg0: string, overrides?: CallOverrides): Promise; deauthorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; decimals(overrides?: CallOverrides): Promise; deposit(_amount: BigNumberish, _recipient: string, overrides?: Overrides & { from?: string | Promise; }): Promise; governance(overrides?: CallOverrides): Promise; isAuthorized(who: string, overrides?: CallOverrides): Promise; lastReport(overrides?: CallOverrides): Promise; lockedProfit(overrides?: CallOverrides): Promise; lockedProfitDegradation(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; precisionFactor(overrides?: CallOverrides): Promise; pricePerShare(overrides?: CallOverrides): Promise; report(_deposit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setDepositLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setOwner(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalShares(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; transferFrom(spender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; withdraw(_maxShares: BigNumberish, _recipient: string, _maxLoss: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { DEGRADATION_COEFFICIENT(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: string, arg1: string, overrides?: CallOverrides): Promise; apiVersion(overrides?: CallOverrides): Promise; approve(account: string, amount: BigNumberish, overrides?: CallOverrides): Promise; authorize(who: string, overrides?: CallOverrides): Promise; authorized(arg0: string, overrides?: CallOverrides): Promise; balanceOf(arg0: string, overrides?: CallOverrides): Promise; deauthorize(who: string, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; deposit(_amount: BigNumberish, _recipient: string, overrides?: CallOverrides): Promise; governance(overrides?: CallOverrides): Promise; isAuthorized(who: string, overrides?: CallOverrides): Promise; lastReport(overrides?: CallOverrides): Promise; lockedProfit(overrides?: CallOverrides): Promise; lockedProfitDegradation(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; precisionFactor(overrides?: CallOverrides): Promise; pricePerShare(overrides?: CallOverrides): Promise; report(_deposit: BigNumberish, overrides?: CallOverrides): Promise; setDepositLimit(_limit: BigNumberish, overrides?: CallOverrides): Promise; setOwner(who: string, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalShares(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: string, amount: BigNumberish, overrides?: CallOverrides): Promise; transferFrom(spender: string, recipient: string, amount: BigNumberish, overrides?: CallOverrides): Promise; withdraw(_maxShares: BigNumberish, _recipient: string, _maxLoss: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "Approval(address,address,uint256)"(owner?: string | null, spender?: string | null, value?: null): ApprovalEventFilter; Approval(owner?: string | null, spender?: string | null, value?: null): ApprovalEventFilter; "Transfer(address,address,uint256)"(from?: string | null, to?: string | null, value?: null): TransferEventFilter; Transfer(from?: string | null, to?: string | null, value?: null): TransferEventFilter; }; estimateGas: { DEGRADATION_COEFFICIENT(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: string, arg1: string, overrides?: CallOverrides): Promise; apiVersion(overrides?: CallOverrides): Promise; approve(account: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; authorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; authorized(arg0: string, overrides?: CallOverrides): Promise; balanceOf(arg0: string, overrides?: CallOverrides): Promise; deauthorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; decimals(overrides?: CallOverrides): Promise; deposit(_amount: BigNumberish, _recipient: string, overrides?: Overrides & { from?: string | Promise; }): Promise; governance(overrides?: CallOverrides): Promise; isAuthorized(who: string, overrides?: CallOverrides): Promise; lastReport(overrides?: CallOverrides): Promise; lockedProfit(overrides?: CallOverrides): Promise; lockedProfitDegradation(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; precisionFactor(overrides?: CallOverrides): Promise; pricePerShare(overrides?: CallOverrides): Promise; report(_deposit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setDepositLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setOwner(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalShares(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; transferFrom(spender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; withdraw(_maxShares: BigNumberish, _recipient: string, _maxLoss: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { DEGRADATION_COEFFICIENT(overrides?: CallOverrides): Promise; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise; PERMIT_TYPEHASH(overrides?: CallOverrides): Promise; allowance(arg0: string, arg1: string, overrides?: CallOverrides): Promise; apiVersion(overrides?: CallOverrides): Promise; approve(account: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; authorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; authorized(arg0: string, overrides?: CallOverrides): Promise; balanceOf(arg0: string, overrides?: CallOverrides): Promise; deauthorize(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; decimals(overrides?: CallOverrides): Promise; deposit(_amount: BigNumberish, _recipient: string, overrides?: Overrides & { from?: string | Promise; }): Promise; governance(overrides?: CallOverrides): Promise; isAuthorized(who: string, overrides?: CallOverrides): Promise; lastReport(overrides?: CallOverrides): Promise; lockedProfit(overrides?: CallOverrides): Promise; lockedProfitDegradation(overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; permit(owner: string, spender: string, value: BigNumberish, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; precisionFactor(overrides?: CallOverrides): Promise; pricePerShare(overrides?: CallOverrides): Promise; report(_deposit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setDepositLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; setOwner(who: string, overrides?: Overrides & { from?: string | Promise; }): Promise; symbol(overrides?: CallOverrides): Promise; token(overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; totalShares(overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transfer(recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; transferFrom(spender: string, recipient: string, amount: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; withdraw(_maxShares: BigNumberish, _recipient: string, _maxLoss: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; }; }