@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.
156 lines (140 loc) • 4.31 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 } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type {
TypedEventFilter,
TypedEvent,
TypedListener,
OnEvent,
PromiseOrValue,
} from "../../common";
export interface IFlashProtocol_Interface extends utils.Interface {
functions: {
"stake(address,uint256,uint256,address,bool)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "stake"): FunctionFragment;
encodeFunctionData(
functionFragment: "stake",
values: [
PromiseOrValue<string>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<BigNumberish>,
PromiseOrValue<string>,
PromiseOrValue<boolean>
]
): string;
decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
events: {};
}
export interface IFlashProtocol_ extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IFlashProtocol_Interface;
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: {
stake(
_strategyAddress: PromiseOrValue<string>,
_tokenAmount: PromiseOrValue<BigNumberish>,
_stakeDuration: PromiseOrValue<BigNumberish>,
_fTokensTo: PromiseOrValue<string>,
_issueNFT: PromiseOrValue<boolean>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
};
stake(
_strategyAddress: PromiseOrValue<string>,
_tokenAmount: PromiseOrValue<BigNumberish>,
_stakeDuration: PromiseOrValue<BigNumberish>,
_fTokensTo: PromiseOrValue<string>,
_issueNFT: PromiseOrValue<boolean>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<ContractTransaction>;
callStatic: {
stake(
_strategyAddress: PromiseOrValue<string>,
_tokenAmount: PromiseOrValue<BigNumberish>,
_stakeDuration: PromiseOrValue<BigNumberish>,
_fTokensTo: PromiseOrValue<string>,
_issueNFT: PromiseOrValue<boolean>,
overrides?: CallOverrides
): Promise<
[
string,
string,
BigNumber,
BigNumber,
BigNumber,
boolean,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber
] & {
stakerAddress: string;
strategyAddress: string;
stakeStartTs: BigNumber;
stakeDuration: BigNumber;
stakedAmount: BigNumber;
active: boolean;
nftId: BigNumber;
fTokensToUser: BigNumber;
fTokensFee: BigNumber;
totalFTokenBurned: BigNumber;
totalStakedWithdrawn: BigNumber;
}
>;
};
filters: {};
estimateGas: {
stake(
_strategyAddress: PromiseOrValue<string>,
_tokenAmount: PromiseOrValue<BigNumberish>,
_stakeDuration: PromiseOrValue<BigNumberish>,
_fTokensTo: PromiseOrValue<string>,
_issueNFT: PromiseOrValue<boolean>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<BigNumber>;
};
populateTransaction: {
stake(
_strategyAddress: PromiseOrValue<string>,
_tokenAmount: PromiseOrValue<BigNumberish>,
_stakeDuration: PromiseOrValue<BigNumberish>,
_fTokensTo: PromiseOrValue<string>,
_issueNFT: PromiseOrValue<boolean>,
overrides?: Overrides & { from?: PromiseOrValue<string> }
): Promise<PopulatedTransaction>;
};
}