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.

672 lines (589 loc) 21 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 declare namespace FlashProtocol { export type StakeStructStruct = { stakerAddress: PromiseOrValue<string>; strategyAddress: PromiseOrValue<string>; stakeStartTs: PromiseOrValue<BigNumberish>; stakeDuration: PromiseOrValue<BigNumberish>; stakedAmount: PromiseOrValue<BigNumberish>; active: PromiseOrValue<boolean>; nftId: PromiseOrValue<BigNumberish>; fTokensToUser: PromiseOrValue<BigNumberish>; fTokensFee: PromiseOrValue<BigNumberish>; totalFTokenBurned: PromiseOrValue<BigNumberish>; totalStakedWithdrawn: PromiseOrValue<BigNumberish>; }; export type StakeStructStructOutput = [ 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; }; } export interface FlashProtocolInterface extends utils.Interface { functions: { "flashNFTAddress()": FunctionFragment; "flashStake(address,uint256,uint256,uint256,address,bool)": FunctionFragment; "getStakeInfo(uint256,bool)": FunctionFragment; "issueNFT(uint256)": FunctionFragment; "owner()": FunctionFragment; "registerStrategy(address,address,string,string)": FunctionFragment; "renounceOwnership()": FunctionFragment; "setMintFeeInfo(address,uint96)": FunctionFragment; "stake(address,uint256,uint256,address,bool)": FunctionFragment; "transferOwnership(address)": FunctionFragment; "unstake(uint256,bool,uint256)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "flashNFTAddress" | "flashStake" | "getStakeInfo" | "issueNFT" | "owner" | "registerStrategy" | "renounceOwnership" | "setMintFeeInfo" | "stake" | "transferOwnership" | "unstake" ): FunctionFragment; encodeFunctionData( functionFragment: "flashNFTAddress", values?: undefined ): string; encodeFunctionData( functionFragment: "flashStake", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<boolean> ] ): string; encodeFunctionData( functionFragment: "getStakeInfo", values: [PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>] ): string; encodeFunctionData( functionFragment: "issueNFT", values: [PromiseOrValue<BigNumberish>] ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "registerStrategy", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string> ] ): string; encodeFunctionData( functionFragment: "renounceOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "setMintFeeInfo", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>] ): string; encodeFunctionData( functionFragment: "stake", values: [ PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<boolean> ] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [PromiseOrValue<string>] ): string; encodeFunctionData( functionFragment: "unstake", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<boolean>, PromiseOrValue<BigNumberish> ] ): string; decodeFunctionResult( functionFragment: "flashNFTAddress", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "flashStake", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getStakeInfo", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "issueNFT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "registerStrategy", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "renounceOwnership", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMintFeeInfo", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result; decodeFunctionResult( functionFragment: "transferOwnership", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result; events: { "NFTIssued(uint256,uint256)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Staked(uint256)": EventFragment; "StrategyRegistered(address,address,address)": EventFragment; "Unstaked(uint256,uint256,uint256,bool)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "NFTIssued"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Staked"): EventFragment; getEvent(nameOrSignatureOrTopic: "StrategyRegistered"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unstaked"): EventFragment; } export interface NFTIssuedEventObject { _stakeId: BigNumber; nftId: BigNumber; } export type NFTIssuedEvent = TypedEvent< [BigNumber, BigNumber], NFTIssuedEventObject >; export type NFTIssuedEventFilter = TypedEventFilter<NFTIssuedEvent>; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent< [string, string], OwnershipTransferredEventObject >; export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>; export interface StakedEventObject { _stakeId: BigNumber; } export type StakedEvent = TypedEvent<[BigNumber], StakedEventObject>; export type StakedEventFilter = TypedEventFilter<StakedEvent>; export interface StrategyRegisteredEventObject { _strategyAddress: string; _principalTokenAddress: string; _fTokenAddress: string; } export type StrategyRegisteredEvent = TypedEvent< [string, string, string], StrategyRegisteredEventObject >; export type StrategyRegisteredEventFilter = TypedEventFilter<StrategyRegisteredEvent>; export interface UnstakedEventObject { _stakeId: BigNumber; _tokensReturned: BigNumber; _fTokensBurned: BigNumber; _stakeFinished: boolean; } export type UnstakedEvent = TypedEvent< [BigNumber, BigNumber, BigNumber, boolean], UnstakedEventObject >; export type UnstakedEventFilter = TypedEventFilter<UnstakedEvent>; export interface FlashProtocol extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: FlashProtocolInterface; 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: { flashNFTAddress(overrides?: CallOverrides): Promise<[string]>; flashStake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _minimumReceived: PromiseOrValue<BigNumberish>, _yieldTo: PromiseOrValue<string>, _mintNFT: PromiseOrValue<boolean>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; getStakeInfo( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise< [FlashProtocol.StakeStructStructOutput] & { _stake: FlashProtocol.StakeStructStructOutput; } >; issueNFT( _stakeId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; owner(overrides?: CallOverrides): Promise<[string]>; registerStrategy( _strategyAddress: PromiseOrValue<string>, _principalTokenAddress: PromiseOrValue<string>, _fTokenName: PromiseOrValue<string>, _fTokenSymbol: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setMintFeeInfo( _feeRecipient: PromiseOrValue<string>, _feePercentageBasis: PromiseOrValue<BigNumberish>, 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>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; unstake( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, _fTokenToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; }; flashNFTAddress(overrides?: CallOverrides): Promise<string>; flashStake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _minimumReceived: PromiseOrValue<BigNumberish>, _yieldTo: PromiseOrValue<string>, _mintNFT: PromiseOrValue<boolean>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; getStakeInfo( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<FlashProtocol.StakeStructStructOutput>; issueNFT( _stakeId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; owner(overrides?: CallOverrides): Promise<string>; registerStrategy( _strategyAddress: PromiseOrValue<string>, _principalTokenAddress: PromiseOrValue<string>, _fTokenName: PromiseOrValue<string>, _fTokenSymbol: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; setMintFeeInfo( _feeRecipient: PromiseOrValue<string>, _feePercentageBasis: PromiseOrValue<BigNumberish>, 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>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; unstake( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, _fTokenToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<ContractTransaction>; callStatic: { flashNFTAddress(overrides?: CallOverrides): Promise<string>; flashStake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _minimumReceived: PromiseOrValue<BigNumberish>, _yieldTo: PromiseOrValue<string>, _mintNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<void>; getStakeInfo( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<FlashProtocol.StakeStructStructOutput>; issueNFT( _stakeId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<string>; registerStrategy( _strategyAddress: PromiseOrValue<string>, _principalTokenAddress: PromiseOrValue<string>, _fTokenName: PromiseOrValue<string>, _fTokenSymbol: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; renounceOwnership(overrides?: CallOverrides): Promise<void>; setMintFeeInfo( _feeRecipient: PromiseOrValue<string>, _feePercentageBasis: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise<void>; stake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _fTokensTo: PromiseOrValue<string>, _issueNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<FlashProtocol.StakeStructStructOutput>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: CallOverrides ): Promise<void>; unstake( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, _fTokenToBurn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber] & { _principalReturned: BigNumber; _fTokensBurned: BigNumber; } >; }; filters: { "NFTIssued(uint256,uint256)"( _stakeId?: null, nftId?: null ): NFTIssuedEventFilter; NFTIssued(_stakeId?: null, nftId?: null): NFTIssuedEventFilter; "OwnershipTransferred(address,address)"( previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null ): OwnershipTransferredEventFilter; OwnershipTransferred( previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null ): OwnershipTransferredEventFilter; "Staked(uint256)"(_stakeId?: null): StakedEventFilter; Staked(_stakeId?: null): StakedEventFilter; "StrategyRegistered(address,address,address)"( _strategyAddress?: PromiseOrValue<string> | null, _principalTokenAddress?: PromiseOrValue<string> | null, _fTokenAddress?: PromiseOrValue<string> | null ): StrategyRegisteredEventFilter; StrategyRegistered( _strategyAddress?: PromiseOrValue<string> | null, _principalTokenAddress?: PromiseOrValue<string> | null, _fTokenAddress?: PromiseOrValue<string> | null ): StrategyRegisteredEventFilter; "Unstaked(uint256,uint256,uint256,bool)"( _stakeId?: null, _tokensReturned?: null, _fTokensBurned?: null, _stakeFinished?: null ): UnstakedEventFilter; Unstaked( _stakeId?: null, _tokensReturned?: null, _fTokensBurned?: null, _stakeFinished?: null ): UnstakedEventFilter; }; estimateGas: { flashNFTAddress(overrides?: CallOverrides): Promise<BigNumber>; flashStake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _minimumReceived: PromiseOrValue<BigNumberish>, _yieldTo: PromiseOrValue<string>, _mintNFT: PromiseOrValue<boolean>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; getStakeInfo( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<BigNumber>; issueNFT( _stakeId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; owner(overrides?: CallOverrides): Promise<BigNumber>; registerStrategy( _strategyAddress: PromiseOrValue<string>, _principalTokenAddress: PromiseOrValue<string>, _fTokenName: PromiseOrValue<string>, _fTokenSymbol: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; setMintFeeInfo( _feeRecipient: PromiseOrValue<string>, _feePercentageBasis: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; stake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _fTokensTo: PromiseOrValue<string>, _issueNFT: PromiseOrValue<boolean>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; unstake( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, _fTokenToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<BigNumber>; }; populateTransaction: { flashNFTAddress(overrides?: CallOverrides): Promise<PopulatedTransaction>; flashStake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _minimumReceived: PromiseOrValue<BigNumberish>, _yieldTo: PromiseOrValue<string>, _mintNFT: PromiseOrValue<boolean>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; getStakeInfo( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, overrides?: CallOverrides ): Promise<PopulatedTransaction>; issueNFT( _stakeId: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; owner(overrides?: CallOverrides): Promise<PopulatedTransaction>; registerStrategy( _strategyAddress: PromiseOrValue<string>, _principalTokenAddress: PromiseOrValue<string>, _fTokenName: PromiseOrValue<string>, _fTokenSymbol: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; setMintFeeInfo( _feeRecipient: PromiseOrValue<string>, _feePercentageBasis: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; stake( _strategyAddress: PromiseOrValue<string>, _tokenAmount: PromiseOrValue<BigNumberish>, _stakeDuration: PromiseOrValue<BigNumberish>, _fTokensTo: PromiseOrValue<string>, _issueNFT: PromiseOrValue<boolean>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; transferOwnership( newOwner: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; unstake( _id: PromiseOrValue<BigNumberish>, _isNFT: PromiseOrValue<boolean>, _fTokenToBurn: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string> } ): Promise<PopulatedTransaction>; }; }