UNPKG

@ohgeez/fsushi

Version:

fSUSHI is a protocol built on top of [FlashStake](http://flashstake.io/) and [SushiSwap](https://sushi.com) that enables stakers to get instant, upfront yield without waiting for it to accrue.

1,413 lines (1,195 loc) 43.7 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 FarmingLPTokenInterface extends utils.Interface { functions: { "DOMAIN_SEPARATOR()": FunctionFragment; "allowance(address,address)": FunctionFragment; "approve(address,uint256)": FunctionFragment; "approveMax()": FunctionFragment; "balanceOf(address)": FunctionFragment; "checkpoint()": FunctionFragment; "decimals()": FunctionFragment; "deposit(uint256,address[],address[],uint256,address,uint256)": FunctionFragment; "depositSigned(uint256,address[],address[],uint256,address,uint256,uint8,bytes32,bytes32)": FunctionFragment; "depositWithSushi(uint256,address[],address[],uint256,address,uint256)": FunctionFragment; "emergencyMigrate(address,bytes)": FunctionFragment; "emergencyWithdraw(address)": FunctionFragment; "factory()": FunctionFragment; "initialize(address,address,uint256)": FunctionFragment; "lpToken()": FunctionFragment; "masterChef()": FunctionFragment; "migrate(address,bytes)": FunctionFragment; "name()": FunctionFragment; "nonces(address)": FunctionFragment; "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "pid()": FunctionFragment; "router()": FunctionFragment; "sharesOf(address)": FunctionFragment; "sushi()": FunctionFragment; "symbol()": FunctionFragment; "token0()": FunctionFragment; "token1()": FunctionFragment; "totalShares()": FunctionFragment; "totalSupply()": FunctionFragment; "transfer(address,uint256)": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "withdraw(uint256,address)": FunctionFragment; "withdrawableLPsOf(address)": FunctionFragment; "withdrawableTotalLPs()": FunctionFragment; "withdrawableTotalYield()": FunctionFragment; "withdrawableYieldOf(address)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "DOMAIN_SEPARATOR" | "allowance" | "approve" | "approveMax" | "balanceOf" | "checkpoint" | "decimals" | "deposit" | "depositSigned" | "depositWithSushi" | "emergencyMigrate" | "emergencyWithdraw" | "factory" | "initialize" | "lpToken" | "masterChef" | "migrate" | "name" | "nonces" | "permit" | "pid" | "router" | "sharesOf" | "sushi" | "symbol" | "token0" | "token1" | "totalShares" | "totalSupply" | "transfer" | "transferFrom" | "withdraw" | "withdrawableLPsOf" | "withdrawableTotalLPs" | "withdrawableTotalYield" | "withdrawableYieldOf" ): FunctionFragment; encodeFunctionData( functionFragment: "DOMAIN_SEPARATOR", values?: undefined ): string; encodeFunctionData( functionFragment: "allowance", values: [PromiseOrValue<string>, PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "approve", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "approveMax", values?: undefined ): string; encodeFunctionData( functionFragment: "balanceOf", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "checkpoint", values?: undefined ): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData( functionFragment: "deposit", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>[], PromiseOrValue<string>[], PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "depositSigned", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>[], PromiseOrValue<string>[], PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike> ] ): string; encodeFunctionData( functionFragment: "depositWithSushi", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<string>[], PromiseOrValue<string>[], PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "emergencyMigrate", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>] ): string; encodeFunctionData( functionFragment: "emergencyWithdraw", values: [PromiseOrValue<string>] ): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData( functionFragment: "initialize", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData(functionFragment: "lpToken", values?: undefined): string; encodeFunctionData( functionFragment: "masterChef", values?: undefined ): string; encodeFunctionData( functionFragment: "migrate", values: [PromiseOrValue<string>, PromiseOrValue<BytesLike>] ): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData( functionFragment: "nonces", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "permit", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike> ] ): string; encodeFunctionData(functionFragment: "pid", values?: undefined): string; encodeFunctionData(functionFragment: "router", values?: undefined): string; encodeFunctionData( functionFragment: "sharesOf", values: [PromiseOrValue<string>] ): string; encodeFunctionData(functionFragment: "sushi", values?: undefined): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "token0", values?: undefined): string; encodeFunctionData(functionFragment: "token1", values?: undefined): string; encodeFunctionData( functionFragment: "totalShares", values?: undefined ): string; encodeFunctionData( functionFragment: "totalSupply", values?: undefined ): string; encodeFunctionData( functionFragment: "transfer", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "transferFrom", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ] ): string; encodeFunctionData( functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "withdrawableLPsOf", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "withdrawableTotalLPs", values?: undefined ): string; encodeFunctionData( functionFragment: "withdrawableTotalYield", values?: undefined ): string; encodeFunctionData( functionFragment: "withdrawableYieldOf", values: [PromiseOrValue<string>] ): string; decodeFunctionResult( functionFragment: "DOMAIN_SEPARATOR", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approveMax", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkpoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult( functionFragment: "depositSigned", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "depositWithSushi", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "emergencyMigrate", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "emergencyWithdraw", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lpToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "masterChef", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pid", data: BytesLike): Result; decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sharesOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sushi", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token0", data: BytesLike): Result; decodeFunctionResult(functionFragment: "token1", 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; decodeFunctionResult( functionFragment: "withdrawableLPsOf", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawableTotalLPs", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawableTotalYield", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "withdrawableYieldOf", data: BytesLike ): Result; events: { "Approval(address,address,uint256)": EventFragment; "ClaimSushi(uint256,uint256,address)": EventFragment; "Deposit(uint256,uint256,address)": EventFragment; "EmergencyMigrate(uint256,uint256,address)": EventFragment; "EmergencyWithdraw(uint256,uint256,address)": EventFragment; "Initialized(uint8)": EventFragment; "Migrate(uint256,uint256,address)": EventFragment; "Transfer(address,address,uint256)": EventFragment; "Withdraw(uint256,uint256,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "ClaimSushi"): EventFragment; getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; getEvent(nameOrSignatureOrTopic: "EmergencyMigrate"): EventFragment; getEvent(nameOrSignatureOrTopic: "EmergencyWithdraw"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Migrate"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; } export interface ApprovalEventObject { owner: string; spender: string; value: BigNumber; } export type ApprovalEvent = TypedEvent< [string, string, BigNumber], ApprovalEventObject >; export type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>; export interface ClaimSushiEventObject { shares: BigNumber; yield: BigNumber; beneficiary: string; } export type ClaimSushiEvent = TypedEvent< [BigNumber, BigNumber, string], ClaimSushiEventObject >; export type ClaimSushiEventFilter = TypedEventFilter<ClaimSushiEvent>; export interface DepositEventObject { shares: BigNumber; amountLP: BigNumber; beneficiary: string; } export type DepositEvent = TypedEvent< [BigNumber, BigNumber, string], DepositEventObject >; export type DepositEventFilter = TypedEventFilter<DepositEvent>; export interface EmergencyMigrateEventObject { shares: BigNumber; amountLP: BigNumber; beneficiary: string; } export type EmergencyMigrateEvent = TypedEvent< [BigNumber, BigNumber, string], EmergencyMigrateEventObject >; export type EmergencyMigrateEventFilter = TypedEventFilter<EmergencyMigrateEvent>; export interface EmergencyWithdrawEventObject { shares: BigNumber; amountLP: BigNumber; beneficiary: string; } export type EmergencyWithdrawEvent = TypedEvent< [BigNumber, BigNumber, string], EmergencyWithdrawEventObject >; export type EmergencyWithdrawEventFilter = TypedEventFilter<EmergencyWithdrawEvent>; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter<InitializedEvent>; export interface MigrateEventObject { shares: BigNumber; amountLP: BigNumber; beneficiary: string; } export type MigrateEvent = TypedEvent< [BigNumber, BigNumber, string], MigrateEventObject >; export type MigrateEventFilter = TypedEventFilter<MigrateEvent>; export interface TransferEventObject { from: string; to: string; value: BigNumber; } export type TransferEvent = TypedEvent< [string, string, BigNumber], TransferEventObject >; export type TransferEventFilter = TypedEventFilter<TransferEvent>; export interface WithdrawEventObject { shares: BigNumber; amountLP: BigNumber; beneficiary: string; } export type WithdrawEvent = TypedEvent< [BigNumber, BigNumber, string], WithdrawEventObject >; export type WithdrawEventFilter = TypedEventFilter<WithdrawEvent>; export interface FarmingLPToken extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: FarmingLPTokenInterface; queryFilter<TEvent extends TypedEvent>( event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>( eventFilter?: TypedEventFilter<TEvent> ): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>( eventFilter: TypedEventFilter<TEvent> ): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<[string]>; allowance( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; approve( spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; approveMax( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; balanceOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; checkpoint( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; decimals(overrides?: CallOverrides): Promise<[number]>; deposit( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; depositSigned( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; depositWithSushi( amount: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountLPMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; emergencyMigrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; emergencyWithdraw( beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; factory(overrides?: CallOverrides): Promise<[string]>; initialize( _router: PromiseOrValue<string>, _masterChef: PromiseOrValue<string>, _pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; lpToken(overrides?: CallOverrides): Promise<[string]>; masterChef(overrides?: CallOverrides): Promise<[string]>; migrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; name(overrides?: CallOverrides): Promise<[string]>; nonces( arg0: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; permit( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; pid(overrides?: CallOverrides): Promise<[BigNumber]>; router(overrides?: CallOverrides): Promise<[string]>; sharesOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; sushi(overrides?: CallOverrides): Promise<[string]>; symbol(overrides?: CallOverrides): Promise<[string]>; token0(overrides?: CallOverrides): Promise<[string]>; token1(overrides?: CallOverrides): Promise<[string]>; totalShares(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transfer( to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; transferFrom( from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; withdraw( shares: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; withdrawableLPsOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; withdrawableTotalLPs(overrides?: CallOverrides): Promise<[BigNumber]>; withdrawableTotalYield(overrides?: CallOverrides): Promise<[BigNumber]>; withdrawableYieldOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<[BigNumber]>; }; DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>; allowance( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; approve( spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; approveMax( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; balanceOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; checkpoint( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; decimals(overrides?: CallOverrides): Promise<number>; deposit( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; depositSigned( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; depositWithSushi( amount: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountLPMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; emergencyMigrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; emergencyWithdraw( beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; factory(overrides?: CallOverrides): Promise<string>; initialize( _router: PromiseOrValue<string>, _masterChef: PromiseOrValue<string>, _pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; lpToken(overrides?: CallOverrides): Promise<string>; masterChef(overrides?: CallOverrides): Promise<string>; migrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; name(overrides?: CallOverrides): Promise<string>; nonces( arg0: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; permit( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; pid(overrides?: CallOverrides): Promise<BigNumber>; router(overrides?: CallOverrides): Promise<string>; sharesOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; sushi(overrides?: CallOverrides): Promise<string>; symbol(overrides?: CallOverrides): Promise<string>; token0(overrides?: CallOverrides): Promise<string>; token1(overrides?: CallOverrides): Promise<string>; totalShares(overrides?: CallOverrides): Promise<BigNumber>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; transfer( to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; transferFrom( from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; withdraw( shares: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; withdrawableLPsOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; withdrawableTotalLPs(overrides?: CallOverrides): Promise<BigNumber>; withdrawableTotalYield(overrides?: CallOverrides): Promise<BigNumber>; withdrawableYieldOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; callStatic: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<string>; allowance( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; approve( spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<boolean>; approveMax(overrides?: CallOverrides): Promise<void>; balanceOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; checkpoint(overrides?: CallOverrides): Promise<void>; decimals(overrides?: CallOverrides): Promise<number>; deposit( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; depositSigned( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides ): Promise<void>; depositWithSushi( amount: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountLPMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; emergencyMigrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: CallOverrides ): Promise<void>; emergencyWithdraw( beneficiary: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; factory(overrides?: CallOverrides): Promise<string>; initialize( _router: PromiseOrValue<string>, _masterChef: PromiseOrValue<string>, _pid: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; lpToken(overrides?: CallOverrides): Promise<string>; masterChef(overrides?: CallOverrides): Promise<string>; migrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: CallOverrides ): Promise<void>; name(overrides?: CallOverrides): Promise<string>; nonces( arg0: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; permit( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides ): Promise<void>; pid(overrides?: CallOverrides): Promise<BigNumber>; router(overrides?: CallOverrides): Promise<string>; sharesOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; sushi(overrides?: CallOverrides): Promise<string>; symbol(overrides?: CallOverrides): Promise<string>; token0(overrides?: CallOverrides): Promise<string>; token1(overrides?: CallOverrides): Promise<string>; totalShares(overrides?: CallOverrides): Promise<BigNumber>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; transfer( to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<boolean>; transferFrom( from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<boolean>; withdraw( shares: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; withdrawableLPsOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; withdrawableTotalLPs(overrides?: CallOverrides): Promise<BigNumber>; withdrawableTotalYield(overrides?: CallOverrides): Promise<BigNumber>; withdrawableYieldOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; }; filters: { "Approval(address,address,uint256)"( owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null ): ApprovalEventFilter; Approval( owner?: PromiseOrValue<string> | null, spender?: PromiseOrValue<string> | null, value?: null ): ApprovalEventFilter; "ClaimSushi(uint256,uint256,address)"( shares?: null, _yield?: null, beneficiary?: PromiseOrValue<string> | null ): ClaimSushiEventFilter; ClaimSushi( shares?: null, _yield?: null, beneficiary?: PromiseOrValue<string> | null ): ClaimSushiEventFilter; "Deposit(uint256,uint256,address)"( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): DepositEventFilter; Deposit( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): DepositEventFilter; "EmergencyMigrate(uint256,uint256,address)"( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): EmergencyMigrateEventFilter; EmergencyMigrate( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): EmergencyMigrateEventFilter; "EmergencyWithdraw(uint256,uint256,address)"( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): EmergencyWithdrawEventFilter; EmergencyWithdraw( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): EmergencyWithdrawEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "Migrate(uint256,uint256,address)"( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): MigrateEventFilter; Migrate( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): MigrateEventFilter; "Transfer(address,address,uint256)"( from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null ): TransferEventFilter; Transfer( from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, value?: null ): TransferEventFilter; "Withdraw(uint256,uint256,address)"( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): WithdrawEventFilter; Withdraw( shares?: null, amountLP?: null, beneficiary?: PromiseOrValue<string> | null ): WithdrawEventFilter; }; estimateGas: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<BigNumber>; allowance( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; approve( spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; approveMax( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; balanceOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; checkpoint( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; decimals(overrides?: CallOverrides): Promise<BigNumber>; deposit( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; depositSigned( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; depositWithSushi( amount: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountLPMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; emergencyMigrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; emergencyWithdraw( beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; factory(overrides?: CallOverrides): Promise<BigNumber>; initialize( _router: PromiseOrValue<string>, _masterChef: PromiseOrValue<string>, _pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; lpToken(overrides?: CallOverrides): Promise<BigNumber>; masterChef(overrides?: CallOverrides): Promise<BigNumber>; migrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; name(overrides?: CallOverrides): Promise<BigNumber>; nonces( arg0: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; permit( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; pid(overrides?: CallOverrides): Promise<BigNumber>; router(overrides?: CallOverrides): Promise<BigNumber>; sharesOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; sushi(overrides?: CallOverrides): Promise<BigNumber>; symbol(overrides?: CallOverrides): Promise<BigNumber>; token0(overrides?: CallOverrides): Promise<BigNumber>; token1(overrides?: CallOverrides): Promise<BigNumber>; totalShares(overrides?: CallOverrides): Promise<BigNumber>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; transfer( to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; transferFrom( from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; withdraw( shares: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; withdrawableLPsOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; withdrawableTotalLPs(overrides?: CallOverrides): Promise<BigNumber>; withdrawableTotalYield(overrides?: CallOverrides): Promise<BigNumber>; withdrawableYieldOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<BigNumber>; }; populateTransaction: { DOMAIN_SEPARATOR(overrides?: CallOverrides): Promise<PopulatedTransaction>; allowance( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; approve( spender: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; approveMax( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; balanceOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; checkpoint( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; decimals(overrides?: CallOverrides): Promise<PopulatedTransaction>; deposit( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; depositSigned( amountLP: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; depositWithSushi( amount: PromiseOrValue<BigNumberish>, path0: PromiseOrValue<string>[], path1: PromiseOrValue<string>[], amountLPMin: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, deadline: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; emergencyMigrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; emergencyWithdraw( beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; factory(overrides?: CallOverrides): Promise<PopulatedTransaction>; initialize( _router: PromiseOrValue<string>, _masterChef: PromiseOrValue<string>, _pid: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; lpToken(overrides?: CallOverrides): Promise<PopulatedTransaction>; masterChef(overrides?: CallOverrides): Promise<PopulatedTransaction>; migrate( beneficiary: PromiseOrValue<string>, params: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; name(overrides?: CallOverrides): Promise<PopulatedTransaction>; nonces( arg0: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; permit( owner: PromiseOrValue<string>, spender: PromiseOrValue<string>, value: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; pid(overrides?: CallOverrides): Promise<PopulatedTransaction>; router(overrides?: CallOverrides): Promise<PopulatedTransaction>; sharesOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; sushi(overrides?: CallOverrides): Promise<PopulatedTransaction>; symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>; token0(overrides?: CallOverrides): Promise<PopulatedTransaction>; token1(overrides?: CallOverrides): Promise<PopulatedTransaction>; totalShares(overrides?: CallOverrides): Promise<PopulatedTransaction>; totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>; transfer( to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; transferFrom( from: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; withdraw( shares: PromiseOrValue<BigNumberish>, beneficiary: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; withdrawableLPsOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; withdrawableTotalLPs( overrides?: CallOverrides ): Promise<PopulatedTransaction>; withdrawableTotalYield( overrides?: CallOverrides ): Promise<PopulatedTransaction>; withdrawableYieldOf( account: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; }; }