/* 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; strategyAddress: PromiseOrValue; stakeStartTs: PromiseOrValue; stakeDuration: PromiseOrValue; stakedAmount: PromiseOrValue; active: PromiseOrValue; nftId: PromiseOrValue; fTokensToUser: PromiseOrValue; fTokensFee: PromiseOrValue; totalFTokenBurned: PromiseOrValue; totalStakedWithdrawn: PromiseOrValue; }; 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, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "getStakeInfo", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "issueNFT", values: [PromiseOrValue] ): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "registerStrategy", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "renounceOwnership", values?: undefined ): string; encodeFunctionData( functionFragment: "setMintFeeInfo", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "stake", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "transferOwnership", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "unstake", values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): 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; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent< [string, string], OwnershipTransferredEventObject >; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface StakedEventObject { _stakeId: BigNumber; } export type StakedEvent = TypedEvent<[BigNumber], StakedEventObject>; export type StakedEventFilter = TypedEventFilter; export interface StrategyRegisteredEventObject { _strategyAddress: string; _principalTokenAddress: string; _fTokenAddress: string; } export type StrategyRegisteredEvent = TypedEvent< [string, string, string], StrategyRegisteredEventObject >; export type StrategyRegisteredEventFilter = TypedEventFilter; export interface UnstakedEventObject { _stakeId: BigNumber; _tokensReturned: BigNumber; _fTokensBurned: BigNumber; _stakeFinished: boolean; } export type UnstakedEvent = TypedEvent< [BigNumber, BigNumber, BigNumber, boolean], UnstakedEventObject >; export type UnstakedEventFilter = TypedEventFilter; export interface FlashProtocol extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: FlashProtocolInterface; 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: { flashNFTAddress(overrides?: CallOverrides): Promise<[string]>; flashStake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _minimumReceived: PromiseOrValue, _yieldTo: PromiseOrValue, _mintNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; getStakeInfo( _id: PromiseOrValue, _isNFT: PromiseOrValue, overrides?: CallOverrides ): Promise< [FlashProtocol.StakeStructStructOutput] & { _stake: FlashProtocol.StakeStructStructOutput; } >; issueNFT( _stakeId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; owner(overrides?: CallOverrides): Promise<[string]>; registerStrategy( _strategyAddress: PromiseOrValue, _principalTokenAddress: PromiseOrValue, _fTokenName: PromiseOrValue, _fTokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMintFeeInfo( _feeRecipient: PromiseOrValue, _feePercentageBasis: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; stake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _fTokensTo: PromiseOrValue, _issueNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; unstake( _id: PromiseOrValue, _isNFT: PromiseOrValue, _fTokenToBurn: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; flashNFTAddress(overrides?: CallOverrides): Promise; flashStake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _minimumReceived: PromiseOrValue, _yieldTo: PromiseOrValue, _mintNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; getStakeInfo( _id: PromiseOrValue, _isNFT: PromiseOrValue, overrides?: CallOverrides ): Promise; issueNFT( _stakeId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; owner(overrides?: CallOverrides): Promise; registerStrategy( _strategyAddress: PromiseOrValue, _principalTokenAddress: PromiseOrValue, _fTokenName: PromiseOrValue, _fTokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMintFeeInfo( _feeRecipient: PromiseOrValue, _feePercentageBasis: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; stake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _fTokensTo: PromiseOrValue, _issueNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; unstake( _id: PromiseOrValue, _isNFT: PromiseOrValue, _fTokenToBurn: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { flashNFTAddress(overrides?: CallOverrides): Promise; flashStake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _minimumReceived: PromiseOrValue, _yieldTo: PromiseOrValue, _mintNFT: PromiseOrValue, overrides?: CallOverrides ): Promise; getStakeInfo( _id: PromiseOrValue, _isNFT: PromiseOrValue, overrides?: CallOverrides ): Promise; issueNFT( _stakeId: PromiseOrValue, overrides?: CallOverrides ): Promise; owner(overrides?: CallOverrides): Promise; registerStrategy( _strategyAddress: PromiseOrValue, _principalTokenAddress: PromiseOrValue, _fTokenName: PromiseOrValue, _fTokenSymbol: PromiseOrValue, overrides?: CallOverrides ): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setMintFeeInfo( _feeRecipient: PromiseOrValue, _feePercentageBasis: PromiseOrValue, overrides?: CallOverrides ): Promise; stake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _fTokensTo: PromiseOrValue, _issueNFT: PromiseOrValue, overrides?: CallOverrides ): Promise; transferOwnership( newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; unstake( _id: PromiseOrValue, _isNFT: PromiseOrValue, _fTokenToBurn: PromiseOrValue, 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 | null, newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; OwnershipTransferred( previousOwner?: PromiseOrValue | null, newOwner?: PromiseOrValue | null ): OwnershipTransferredEventFilter; "Staked(uint256)"(_stakeId?: null): StakedEventFilter; Staked(_stakeId?: null): StakedEventFilter; "StrategyRegistered(address,address,address)"( _strategyAddress?: PromiseOrValue | null, _principalTokenAddress?: PromiseOrValue | null, _fTokenAddress?: PromiseOrValue | null ): StrategyRegisteredEventFilter; StrategyRegistered( _strategyAddress?: PromiseOrValue | null, _principalTokenAddress?: PromiseOrValue | null, _fTokenAddress?: PromiseOrValue | 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; flashStake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _minimumReceived: PromiseOrValue, _yieldTo: PromiseOrValue, _mintNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; getStakeInfo( _id: PromiseOrValue, _isNFT: PromiseOrValue, overrides?: CallOverrides ): Promise; issueNFT( _stakeId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; owner(overrides?: CallOverrides): Promise; registerStrategy( _strategyAddress: PromiseOrValue, _principalTokenAddress: PromiseOrValue, _fTokenName: PromiseOrValue, _fTokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMintFeeInfo( _feeRecipient: PromiseOrValue, _feePercentageBasis: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; stake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _fTokensTo: PromiseOrValue, _issueNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; unstake( _id: PromiseOrValue, _isNFT: PromiseOrValue, _fTokenToBurn: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { flashNFTAddress(overrides?: CallOverrides): Promise; flashStake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _minimumReceived: PromiseOrValue, _yieldTo: PromiseOrValue, _mintNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; getStakeInfo( _id: PromiseOrValue, _isNFT: PromiseOrValue, overrides?: CallOverrides ): Promise; issueNFT( _stakeId: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; owner(overrides?: CallOverrides): Promise; registerStrategy( _strategyAddress: PromiseOrValue, _principalTokenAddress: PromiseOrValue, _fTokenName: PromiseOrValue, _fTokenSymbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; renounceOwnership( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setMintFeeInfo( _feeRecipient: PromiseOrValue, _feePercentageBasis: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; stake( _strategyAddress: PromiseOrValue, _tokenAmount: PromiseOrValue, _stakeDuration: PromiseOrValue, _fTokensTo: PromiseOrValue, _issueNFT: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; unstake( _id: PromiseOrValue, _isNFT: PromiseOrValue, _fTokenToBurn: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; }