@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.
543 lines (446 loc) • 16.4 kB
text/typescript
/* 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 FlashStrategySushiSwapInterface extends utils.Interface {
functions: {
"burnFToken(uint256,uint256,address)": FunctionFragment;
"depositPrincipal(uint256)": FunctionFragment;
"fToken()": FunctionFragment;
"factory()": FunctionFragment;
"flashProtocol()": FunctionFragment;
"flpToken()": FunctionFragment;
"getMaxStakeDuration()": FunctionFragment;
"getPrincipalAddress()": FunctionFragment;
"getPrincipalBalance()": FunctionFragment;
"getYieldBalance()": FunctionFragment;
"initialize(address,address)": FunctionFragment;
"quoteBurnFToken(uint256)": FunctionFragment;
"quoteMintFToken(uint256,uint256)": FunctionFragment;
"setFTokenAddress(address)": FunctionFragment;
"sushi()": FunctionFragment;
"withdrawPrincipal(uint256)": FunctionFragment;
};
getFunction(
nameOrSignatureOrTopic:
| "burnFToken"
| "depositPrincipal"
| "fToken"
| "factory"
| "flashProtocol"
| "flpToken"
| "getMaxStakeDuration"
| "getPrincipalAddress"
| "getPrincipalBalance"
| "getYieldBalance"
| "initialize"
| "quoteBurnFToken"
| "quoteMintFToken"
| "setFTokenAddress"
| "sushi"
| "withdrawPrincipal"
): FunctionFragment;
encodeFunctionData(
functionFragment: "burnFToken",
values: [
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>
]
): string;
encodeFunctionData(
functionFragment: "depositPrincipal",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(functionFragment: "fToken", values?: undefined): string;
encodeFunctionData(functionFragment: "factory", values?: undefined): string;
encodeFunctionData(
functionFragment: "flashProtocol",
values?: undefined
): string;
encodeFunctionData(functionFragment: "flpToken", values?: undefined): string;
encodeFunctionData(
functionFragment: "getMaxStakeDuration",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getPrincipalAddress",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getPrincipalBalance",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "getYieldBalance",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "initialize",
values: [PromiseOrValue<string>, PromiseOrValue<string>]
): string;
encodeFunctionData(
functionFragment: "quoteBurnFToken",
values: [PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "quoteMintFToken",
values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]
): string;
encodeFunctionData(
functionFragment: "setFTokenAddress",
values: [PromiseOrValue<string>]
): string;
encodeFunctionData(functionFragment: "sushi", values?: undefined): string;
encodeFunctionData(
functionFragment: "withdrawPrincipal",
values: [PromiseOrValue<BigNumberish>]
): string;
decodeFunctionResult(functionFragment: "burnFToken", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "depositPrincipal",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "fToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "flashProtocol",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "flpToken", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "getMaxStakeDuration",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getPrincipalAddress",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getPrincipalBalance",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "getYieldBalance",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "quoteBurnFToken",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "quoteMintFToken",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "setFTokenAddress",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "sushi", data: BytesLike): Result;
decodeFunctionResult(
functionFragment: "withdrawPrincipal",
data: BytesLike
): Result;
events: {
"BurnedFToken(address,uint256,uint256)": EventFragment;
"Initialized(uint8)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "BurnedFToken"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
}
export interface BurnedFTokenEventObject {
_address: string;
_tokenAmount: BigNumber;
_yieldReturned: BigNumber;
}
export type BurnedFTokenEvent = TypedEvent<
[string, BigNumber, BigNumber],
BurnedFTokenEventObject
>;
export type BurnedFTokenEventFilter = TypedEventFilter<BurnedFTokenEvent>;
export interface InitializedEventObject {
version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface FlashStrategySushiSwap extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: FlashStrategySushiSwapInterface;
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: {
burnFToken(
_amount: PromiseOrValue<BigNumberish>,
_minimumReturned: PromiseOrValue<BigNumberish>,
_yieldTo: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
depositPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
fToken(overrides?: CallOverrides): Promise<[string]>;
factory(overrides?: CallOverrides): Promise<[string]>;
flashProtocol(overrides?: CallOverrides): Promise<[string]>;
flpToken(overrides?: CallOverrides): Promise<[string]>;
getMaxStakeDuration(overrides?: CallOverrides): Promise<[BigNumber]>;
getPrincipalAddress(overrides?: CallOverrides): Promise<[string]>;
getPrincipalBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
getYieldBalance(overrides?: CallOverrides): Promise<[BigNumber]>;
initialize(
_flashProtocol: PromiseOrValue<string>,
_flpToken: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
quoteBurnFToken(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber]>;
quoteMintFToken(
_amount: PromiseOrValue<BigNumberish>,
_duration: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<[BigNumber] & { amountFToken: BigNumber }>;
setFTokenAddress(
_fTokenAddress: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
sushi(overrides?: CallOverrides): Promise<[string]>;
withdrawPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
};
burnFToken(
_amount: PromiseOrValue<BigNumberish>,
_minimumReturned: PromiseOrValue<BigNumberish>,
_yieldTo: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
depositPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
fToken(overrides?: CallOverrides): Promise<string>;
factory(overrides?: CallOverrides): Promise<string>;
flashProtocol(overrides?: CallOverrides): Promise<string>;
flpToken(overrides?: CallOverrides): Promise<string>;
getMaxStakeDuration(overrides?: CallOverrides): Promise<BigNumber>;
getPrincipalAddress(overrides?: CallOverrides): Promise<string>;
getPrincipalBalance(overrides?: CallOverrides): Promise<BigNumber>;
getYieldBalance(overrides?: CallOverrides): Promise<BigNumber>;
initialize(
_flashProtocol: PromiseOrValue<string>,
_flpToken: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
quoteBurnFToken(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
quoteMintFToken(
_amount: PromiseOrValue<BigNumberish>,
_duration: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
setFTokenAddress(
_fTokenAddress: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
sushi(overrides?: CallOverrides): Promise<string>;
withdrawPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
callStatic: {
burnFToken(
_amount: PromiseOrValue<BigNumberish>,
_minimumReturned: PromiseOrValue<BigNumberish>,
_yieldTo: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<BigNumber>;
depositPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
fToken(overrides?: CallOverrides): Promise<string>;
factory(overrides?: CallOverrides): Promise<string>;
flashProtocol(overrides?: CallOverrides): Promise<string>;
flpToken(overrides?: CallOverrides): Promise<string>;
getMaxStakeDuration(overrides?: CallOverrides): Promise<BigNumber>;
getPrincipalAddress(overrides?: CallOverrides): Promise<string>;
getPrincipalBalance(overrides?: CallOverrides): Promise<BigNumber>;
getYieldBalance(overrides?: CallOverrides): Promise<BigNumber>;
initialize(
_flashProtocol: PromiseOrValue<string>,
_flpToken: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
quoteBurnFToken(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
quoteMintFToken(
_amount: PromiseOrValue<BigNumberish>,
_duration: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
setFTokenAddress(
_fTokenAddress: PromiseOrValue<string>,
overrides?: CallOverrides
): Promise<void>;
sushi(overrides?: CallOverrides): Promise<string>;
withdrawPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<void>;
};
filters: {
"BurnedFToken(address,uint256,uint256)"(
_address?: PromiseOrValue<string> | null,
_tokenAmount?: null,
_yieldReturned?: null
): BurnedFTokenEventFilter;
BurnedFToken(
_address?: PromiseOrValue<string> | null,
_tokenAmount?: null,
_yieldReturned?: null
): BurnedFTokenEventFilter;
"Initialized(uint8)"(version?: null): InitializedEventFilter;
Initialized(version?: null): InitializedEventFilter;
};
estimateGas: {
burnFToken(
_amount: PromiseOrValue<BigNumberish>,
_minimumReturned: PromiseOrValue<BigNumberish>,
_yieldTo: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
depositPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
fToken(overrides?: CallOverrides): Promise<BigNumber>;
factory(overrides?: CallOverrides): Promise<BigNumber>;
flashProtocol(overrides?: CallOverrides): Promise<BigNumber>;
flpToken(overrides?: CallOverrides): Promise<BigNumber>;
getMaxStakeDuration(overrides?: CallOverrides): Promise<BigNumber>;
getPrincipalAddress(overrides?: CallOverrides): Promise<BigNumber>;
getPrincipalBalance(overrides?: CallOverrides): Promise<BigNumber>;
getYieldBalance(overrides?: CallOverrides): Promise<BigNumber>;
initialize(
_flashProtocol: PromiseOrValue<string>,
_flpToken: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
quoteBurnFToken(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
quoteMintFToken(
_amount: PromiseOrValue<BigNumberish>,
_duration: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<BigNumber>;
setFTokenAddress(
_fTokenAddress: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
sushi(overrides?: CallOverrides): Promise<BigNumber>;
withdrawPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
};
populateTransaction: {
burnFToken(
_amount: PromiseOrValue<BigNumberish>,
_minimumReturned: PromiseOrValue<BigNumberish>,
_yieldTo: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
depositPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
fToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
factory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
flashProtocol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
flpToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
getMaxStakeDuration(
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
getPrincipalAddress(
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
getPrincipalBalance(
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
getYieldBalance(overrides?: CallOverrides): Promise<PopulatedTransaction>;
initialize(
_flashProtocol: PromiseOrValue<string>,
_flpToken: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
quoteBurnFToken(
_amount: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
quoteMintFToken(
_amount: PromiseOrValue<BigNumberish>,
_duration: PromiseOrValue<BigNumberish>,
overrides?: CallOverrides
): Promise<PopulatedTransaction>;
setFTokenAddress(
_fTokenAddress: PromiseOrValue<string>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
sushi(overrides?: CallOverrides): Promise<PopulatedTransaction>;
withdrawPrincipal(
_amount: PromiseOrValue<BigNumberish>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
};
}