UNPKG

@soma-finance/core-contracts

Version:

SOMA Finance core contracts

758 lines 63.6 kB
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 ISomaStaking { type StakingConfigStruct = { unstakeDuration: PromiseOrValue<BigNumberish>; claimDuration: PromiseOrValue<BigNumberish>; earlyUnstakeFee: PromiseOrValue<BigNumberish>; earlyClaimFee: PromiseOrValue<BigNumberish>; }; type StakingConfigStructOutput = [ BigNumber, BigNumber, number, number ] & { unstakeDuration: BigNumber; claimDuration: BigNumber; earlyUnstakeFee: number; earlyClaimFee: number; }; type RequestStruct = { hash: PromiseOrValue<BytesLike>; timestamp: PromiseOrValue<BigNumberish>; amount: PromiseOrValue<BigNumberish>; }; type RequestStructOutput = [string, BigNumber, BigNumber] & { hash: string; timestamp: BigNumber; amount: BigNumber; }; type StrategyStruct = { startDate: PromiseOrValue<BigNumberish>; endDate: PromiseOrValue<BigNumberish>; rewardToken: PromiseOrValue<string>; rewardsLocked: PromiseOrValue<BigNumberish>; rewardsUnlocked: PromiseOrValue<BigNumberish>; }; type StrategyStructOutput = [ number, number, string, BigNumber, BigNumber ] & { startDate: number; endDate: number; rewardToken: string; rewardsLocked: BigNumber; rewardsUnlocked: BigNumber; }; } export interface SomaStakingInterface extends utils.Interface { functions: { "DEFAULT_PRIVILEGES()": FunctionFragment; "GLOBAL_ADMIN_ROLE()": FunctionFragment; "GLOBAL_SEIZE_ROLE()": FunctionFragment; "GLOBAL_UPDATE_PRIVILEGES_ROLE()": FunctionFragment; "LOCAL_ADMIN_ROLE()": FunctionFragment; "LOCAL_SEIZE_ROLE()": FunctionFragment; "LOCAL_UPDATE_PRIVILEGES_ROLE()": FunctionFragment; "SOMA()": FunctionFragment; "TOKEN_RECOVERY_ROLE()": FunctionFragment; "addRewardToken(address)": FunctionFragment; "adminClaim(address,address)": FunctionFragment; "adminClaimable(address)": FunctionFragment; "cancelClaimRequests(address[],uint256[][])": FunctionFragment; "cancelUnstakeRequests(uint256[])": FunctionFragment; "claim(address[],uint256[][])": FunctionFragment; "claimImmediate(address[],uint256[])": FunctionFragment; "claimRequest(address,address,uint256)": FunctionFragment; "claimable(address,address)": FunctionFragment; "config()": FunctionFragment; "createClaimRequests(address[])": FunctionFragment; "createStrategy(uint256,uint256,address,uint256)": FunctionFragment; "createUnstakeRequest(uint256)": FunctionFragment; "currentTPS(address)": FunctionFragment; "debt(address,address)": FunctionFragment; "getRoleAdmin(bytes32)": FunctionFragment; "hasPrivileges(address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "initialize(address,address[])": FunctionFragment; "multicall(bytes[])": FunctionFragment; "pause()": FunctionFragment; "paused()": FunctionFragment; "pendingStrategy(uint256)": FunctionFragment; "recoverTokens(address,address,uint256)": FunctionFragment; "requiredPrivileges()": FunctionFragment; "rewardToken(uint256)": FunctionFragment; "seize(address)": FunctionFragment; "stake(uint256)": FunctionFragment; "stakeOf(address)": FunctionFragment; "stakingToken()": FunctionFragment; "strategy(uint256)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "totalPendingStrategies()": FunctionFragment; "totalPendingUnstake()": FunctionFragment; "totalRewardTokens()": FunctionFragment; "totalStaked()": FunctionFragment; "totalStrategies()": FunctionFragment; "tps(address)": FunctionFragment; "unpause()": FunctionFragment; "unstake(uint256[])": FunctionFragment; "unstakeImmediate(uint256)": FunctionFragment; "unstakeRequest(address,uint256)": FunctionFragment; "updateConfig(uint64,uint64,uint16,uint16)": FunctionFragment; "updateRequiredPrivileges(bytes32)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DEFAULT_PRIVILEGES" | "GLOBAL_ADMIN_ROLE" | "GLOBAL_SEIZE_ROLE" | "GLOBAL_UPDATE_PRIVILEGES_ROLE" | "LOCAL_ADMIN_ROLE" | "LOCAL_SEIZE_ROLE" | "LOCAL_UPDATE_PRIVILEGES_ROLE" | "SOMA" | "TOKEN_RECOVERY_ROLE" | "addRewardToken" | "adminClaim" | "adminClaimable" | "cancelClaimRequests" | "cancelUnstakeRequests" | "claim" | "claimImmediate" | "claimRequest" | "claimable" | "config" | "createClaimRequests" | "createStrategy" | "createUnstakeRequest" | "currentTPS" | "debt" | "getRoleAdmin" | "hasPrivileges" | "hasRole" | "initialize" | "multicall" | "pause" | "paused" | "pendingStrategy" | "recoverTokens" | "requiredPrivileges" | "rewardToken" | "seize" | "stake" | "stakeOf" | "stakingToken" | "strategy" | "supportsInterface" | "totalPendingStrategies" | "totalPendingUnstake" | "totalRewardTokens" | "totalStaked" | "totalStrategies" | "tps" | "unpause" | "unstake" | "unstakeImmediate" | "unstakeRequest" | "updateConfig" | "updateRequiredPrivileges"): FunctionFragment; encodeFunctionData(functionFragment: "DEFAULT_PRIVILEGES", values?: undefined): string; encodeFunctionData(functionFragment: "GLOBAL_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "GLOBAL_SEIZE_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "GLOBAL_UPDATE_PRIVILEGES_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "LOCAL_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "LOCAL_SEIZE_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "LOCAL_UPDATE_PRIVILEGES_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "SOMA", values?: undefined): string; encodeFunctionData(functionFragment: "TOKEN_RECOVERY_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "addRewardToken", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "adminClaim", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "adminClaimable", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "cancelClaimRequests", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[][]]): string; encodeFunctionData(functionFragment: "cancelUnstakeRequests", values: [PromiseOrValue<BigNumberish>[]]): string; encodeFunctionData(functionFragment: "claim", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[][]]): string; encodeFunctionData(functionFragment: "claimImmediate", values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string; encodeFunctionData(functionFragment: "claimRequest", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "claimable", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "config", values?: undefined): string; encodeFunctionData(functionFragment: "createClaimRequests", values: [PromiseOrValue<string>[]]): string; encodeFunctionData(functionFragment: "createStrategy", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "createUnstakeRequest", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "currentTPS", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "debt", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "hasPrivileges", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "hasRole", values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "initialize", values: [PromiseOrValue<string>, PromiseOrValue<string>[]]): string; encodeFunctionData(functionFragment: "multicall", values: [PromiseOrValue<BytesLike>[]]): string; encodeFunctionData(functionFragment: "pause", values?: undefined): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "pendingStrategy", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "recoverTokens", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "requiredPrivileges", values?: undefined): string; encodeFunctionData(functionFragment: "rewardToken", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "seize", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "stake", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "stakeOf", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "stakingToken", values?: undefined): string; encodeFunctionData(functionFragment: "strategy", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [PromiseOrValue<BytesLike>]): string; encodeFunctionData(functionFragment: "totalPendingStrategies", values?: undefined): string; encodeFunctionData(functionFragment: "totalPendingUnstake", values?: undefined): string; encodeFunctionData(functionFragment: "totalRewardTokens", values?: undefined): string; encodeFunctionData(functionFragment: "totalStaked", values?: undefined): string; encodeFunctionData(functionFragment: "totalStrategies", values?: undefined): string; encodeFunctionData(functionFragment: "tps", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "unpause", values?: undefined): string; encodeFunctionData(functionFragment: "unstake", values: [PromiseOrValue<BigNumberish>[]]): string; encodeFunctionData(functionFragment: "unstakeImmediate", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "unstakeRequest", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "updateConfig", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "updateRequiredPrivileges", values: [PromiseOrValue<BytesLike>]): string; decodeFunctionResult(functionFragment: "DEFAULT_PRIVILEGES", data: BytesLike): Result; decodeFunctionResult(functionFragment: "GLOBAL_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "GLOBAL_SEIZE_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "GLOBAL_UPDATE_PRIVILEGES_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LOCAL_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LOCAL_SEIZE_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "LOCAL_UPDATE_PRIVILEGES_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "SOMA", data: BytesLike): Result; decodeFunctionResult(functionFragment: "TOKEN_RECOVERY_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addRewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "adminClaim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "adminClaimable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancelClaimRequests", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cancelUnstakeRequests", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimImmediate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createClaimRequests", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createStrategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createUnstakeRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "currentTPS", data: BytesLike): Result; decodeFunctionResult(functionFragment: "debt", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPrivileges", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingStrategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "recoverTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "requiredPrivileges", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "seize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakeOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakingToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "strategy", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalPendingStrategies", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalPendingUnstake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalRewardTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalStaked", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalStrategies", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tps", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unstakeImmediate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "unstakeRequest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateRequiredPrivileges", data: BytesLike): Result; events: { "AdminClaimed(address,uint256,address,address)": EventFragment; "Claimed(address,uint256,address)": EventFragment; "ClaimedImmediate(address,uint256,uint256,address)": EventFragment; "Initialized(uint8)": EventFragment; "Paused(address)": EventFragment; "RequestCancelled(uint256)": EventFragment; "RequestCreated(uint256,address,uint256,address,uint8)": EventFragment; "RequestFulfilled(uint256)": EventFragment; "RequiredPrivilegesUpdated(bytes32,bytes32,address)": EventFragment; "RewardTokenAdded(address,address)": EventFragment; "Seized(address,address,uint256,uint256[],address)": EventFragment; "Staked(uint256,address)": EventFragment; "StakingConfigUpdated(tuple,tuple,address)": EventFragment; "StrategyCreated(address,uint256,uint256,uint256,address)": EventFragment; "TokensRecovered(address,address,uint256,address)": EventFragment; "Unpaused(address)": EventFragment; "Unstaked(uint256,address)": EventFragment; "UnstakedImmediate(uint256,uint256,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminClaimed"): EventFragment; getEvent(nameOrSignatureOrTopic: "Claimed"): EventFragment; getEvent(nameOrSignatureOrTopic: "ClaimedImmediate"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "RequestCancelled"): EventFragment; getEvent(nameOrSignatureOrTopic: "RequestCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "RequestFulfilled"): EventFragment; getEvent(nameOrSignatureOrTopic: "RequiredPrivilegesUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "RewardTokenAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Seized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Staked"): EventFragment; getEvent(nameOrSignatureOrTopic: "StakingConfigUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "StrategyCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TokensRecovered"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unstaked"): EventFragment; getEvent(nameOrSignatureOrTopic: "UnstakedImmediate"): EventFragment; } export interface AdminClaimedEventObject { asset: string; amount: BigNumber; to: string; sender: string; } export declare type AdminClaimedEvent = TypedEvent<[ string, BigNumber, string, string ], AdminClaimedEventObject>; export declare type AdminClaimedEventFilter = TypedEventFilter<AdminClaimedEvent>; export interface ClaimedEventObject { asset: string; amount: BigNumber; sender: string; } export declare type ClaimedEvent = TypedEvent<[ string, BigNumber, string ], ClaimedEventObject>; export declare type ClaimedEventFilter = TypedEventFilter<ClaimedEvent>; export interface ClaimedImmediateEventObject { asset: string; amount: BigNumber; fee: BigNumber; sender: string; } export declare type ClaimedImmediateEvent = TypedEvent<[ string, BigNumber, BigNumber, string ], ClaimedImmediateEventObject>; export declare type ClaimedImmediateEventFilter = TypedEventFilter<ClaimedImmediateEvent>; export interface InitializedEventObject { version: number; } export declare type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export declare type InitializedEventFilter = TypedEventFilter<InitializedEvent>; export interface PausedEventObject { account: string; } export declare type PausedEvent = TypedEvent<[string], PausedEventObject>; export declare type PausedEventFilter = TypedEventFilter<PausedEvent>; export interface RequestCancelledEventObject { id: BigNumber; } export declare type RequestCancelledEvent = TypedEvent<[ BigNumber ], RequestCancelledEventObject>; export declare type RequestCancelledEventFilter = TypedEventFilter<RequestCancelledEvent>; export interface RequestCreatedEventObject { id: BigNumber; asset: string; amount: BigNumber; sender: string; requestType: number; } export declare type RequestCreatedEvent = TypedEvent<[ BigNumber, string, BigNumber, string, number ], RequestCreatedEventObject>; export declare type RequestCreatedEventFilter = TypedEventFilter<RequestCreatedEvent>; export interface RequestFulfilledEventObject { id: BigNumber; } export declare type RequestFulfilledEvent = TypedEvent<[ BigNumber ], RequestFulfilledEventObject>; export declare type RequestFulfilledEventFilter = TypedEventFilter<RequestFulfilledEvent>; export interface RequiredPrivilegesUpdatedEventObject { prevPrivileges: string; newPrivileges: string; sender: string; } export declare type RequiredPrivilegesUpdatedEvent = TypedEvent<[ string, string, string ], RequiredPrivilegesUpdatedEventObject>; export declare type RequiredPrivilegesUpdatedEventFilter = TypedEventFilter<RequiredPrivilegesUpdatedEvent>; export interface RewardTokenAddedEventObject { token: string; sender: string; } export declare type RewardTokenAddedEvent = TypedEvent<[ string, string ], RewardTokenAddedEventObject>; export declare type RewardTokenAddedEventFilter = TypedEventFilter<RewardTokenAddedEvent>; export interface SeizedEventObject { from: string; to: string; amount: BigNumber; seizedRewards: BigNumber[]; sender: string; } export declare type SeizedEvent = TypedEvent<[ string, string, BigNumber, BigNumber[], string ], SeizedEventObject>; export declare type SeizedEventFilter = TypedEventFilter<SeizedEvent>; export interface StakedEventObject { amount: BigNumber; sender: string; } export declare type StakedEvent = TypedEvent<[BigNumber, string], StakedEventObject>; export declare type StakedEventFilter = TypedEventFilter<StakedEvent>; export interface StakingConfigUpdatedEventObject { prevConfig: ISomaStaking.StakingConfigStructOutput; newConfig: ISomaStaking.StakingConfigStructOutput; sender: string; } export declare type StakingConfigUpdatedEvent = TypedEvent<[ ISomaStaking.StakingConfigStructOutput, ISomaStaking.StakingConfigStructOutput, string ], StakingConfigUpdatedEventObject>; export declare type StakingConfigUpdatedEventFilter = TypedEventFilter<StakingConfigUpdatedEvent>; export interface StrategyCreatedEventObject { rewardToken: string; amount: BigNumber; startDate: BigNumber; endDate: BigNumber; sender: string; } export declare type StrategyCreatedEvent = TypedEvent<[ string, BigNumber, BigNumber, BigNumber, string ], StrategyCreatedEventObject>; export declare type StrategyCreatedEventFilter = TypedEventFilter<StrategyCreatedEvent>; export interface TokensRecoveredEventObject { token: string; to: string; amount: BigNumber; sender: string; } export declare type TokensRecoveredEvent = TypedEvent<[ string, string, BigNumber, string ], TokensRecoveredEventObject>; export declare type TokensRecoveredEventFilter = TypedEventFilter<TokensRecoveredEvent>; export interface UnpausedEventObject { account: string; } export declare type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; export declare type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>; export interface UnstakedEventObject { amount: BigNumber; sender: string; } export declare type UnstakedEvent = TypedEvent<[ BigNumber, string ], UnstakedEventObject>; export declare type UnstakedEventFilter = TypedEventFilter<UnstakedEvent>; export interface UnstakedImmediateEventObject { amount: BigNumber; fee: BigNumber; sender: string; } export declare type UnstakedImmediateEvent = TypedEvent<[ BigNumber, BigNumber, string ], UnstakedImmediateEventObject>; export declare type UnstakedImmediateEventFilter = TypedEventFilter<UnstakedImmediateEvent>; export interface SomaStaking extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: SomaStakingInterface; 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: { DEFAULT_PRIVILEGES(overrides?: CallOverrides): Promise<[string]>; GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; GLOBAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<[string]>; GLOBAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<[string]>; LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; LOCAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<[string]>; LOCAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<[string]>; SOMA(overrides?: CallOverrides): Promise<[string]>; TOKEN_RECOVERY_ROLE(overrides?: CallOverrides): Promise<[string]>; addRewardToken(_asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; adminClaim(_asset: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; adminClaimable(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; cancelClaimRequests(_assets: PromiseOrValue<string>[], _ids: PromiseOrValue<BigNumberish>[][], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; cancelUnstakeRequests(_ids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; claim(_assets: PromiseOrValue<string>[], _ids: PromiseOrValue<BigNumberish>[][], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; claimImmediate(_assets: PromiseOrValue<string>[], _amounts: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; claimRequest(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, _id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ISomaStaking.RequestStructOutput]>; claimable(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; config(overrides?: CallOverrides): Promise<[ISomaStaking.StakingConfigStructOutput]>; createClaimRequests(_assets: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; createStrategy(_startDate: PromiseOrValue<BigNumberish>, _endDate: PromiseOrValue<BigNumberish>, _rewardToken: PromiseOrValue<string>, _rewardAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; createUnstakeRequest(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; currentTPS(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber] & { tps_: BigNumber; }>; debt(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>; hasPrivileges(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>; initialize(stakingToken_: PromiseOrValue<string>, rewardTokens_: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; multicall(data: PromiseOrValue<BytesLike>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; pause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<[boolean]>; pendingStrategy(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ISomaStaking.StrategyStructOutput]>; recoverTokens(token: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; requiredPrivileges(overrides?: CallOverrides): Promise<[string]>; rewardToken(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>; seize(from: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stake(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stakeOf(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; stakingToken(overrides?: CallOverrides): Promise<[string]>; strategy(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ISomaStaking.StrategyStructOutput]>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>; totalPendingStrategies(overrides?: CallOverrides): Promise<[BigNumber]>; totalPendingUnstake(overrides?: CallOverrides): Promise<[BigNumber]>; totalRewardTokens(overrides?: CallOverrides): Promise<[BigNumber]>; totalStaked(overrides?: CallOverrides): Promise<[BigNumber]>; totalStrategies(overrides?: CallOverrides): Promise<[BigNumber]>; tps(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; unpause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unstake(_ids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unstakeImmediate(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unstakeRequest(_account: PromiseOrValue<string>, _id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[ISomaStaking.RequestStructOutput]>; updateConfig(_unstakeDuration: PromiseOrValue<BigNumberish>, _claimDuration: PromiseOrValue<BigNumberish>, _earlyUnstakeFee: PromiseOrValue<BigNumberish>, _earlyClaimFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; updateRequiredPrivileges(newRequiredPrivileges: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; DEFAULT_PRIVILEGES(overrides?: CallOverrides): Promise<string>; GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; GLOBAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<string>; GLOBAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<string>; LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; LOCAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<string>; LOCAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<string>; SOMA(overrides?: CallOverrides): Promise<string>; TOKEN_RECOVERY_ROLE(overrides?: CallOverrides): Promise<string>; addRewardToken(_asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; adminClaim(_asset: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; adminClaimable(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; cancelClaimRequests(_assets: PromiseOrValue<string>[], _ids: PromiseOrValue<BigNumberish>[][], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; cancelUnstakeRequests(_ids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; claim(_assets: PromiseOrValue<string>[], _ids: PromiseOrValue<BigNumberish>[][], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; claimImmediate(_assets: PromiseOrValue<string>[], _amounts: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; claimRequest(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, _id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.RequestStructOutput>; claimable(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; config(overrides?: CallOverrides): Promise<ISomaStaking.StakingConfigStructOutput>; createClaimRequests(_assets: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; createStrategy(_startDate: PromiseOrValue<BigNumberish>, _endDate: PromiseOrValue<BigNumberish>, _rewardToken: PromiseOrValue<string>, _rewardAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; createUnstakeRequest(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; currentTPS(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; debt(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; hasPrivileges(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; initialize(stakingToken_: PromiseOrValue<string>, rewardTokens_: PromiseOrValue<string>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; multicall(data: PromiseOrValue<BytesLike>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; pause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; paused(overrides?: CallOverrides): Promise<boolean>; pendingStrategy(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.StrategyStructOutput>; recoverTokens(token: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; requiredPrivileges(overrides?: CallOverrides): Promise<string>; rewardToken(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; seize(from: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stake(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stakeOf(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; stakingToken(overrides?: CallOverrides): Promise<string>; strategy(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.StrategyStructOutput>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; totalPendingStrategies(overrides?: CallOverrides): Promise<BigNumber>; totalPendingUnstake(overrides?: CallOverrides): Promise<BigNumber>; totalRewardTokens(overrides?: CallOverrides): Promise<BigNumber>; totalStaked(overrides?: CallOverrides): Promise<BigNumber>; totalStrategies(overrides?: CallOverrides): Promise<BigNumber>; tps(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; unpause(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unstake(_ids: PromiseOrValue<BigNumberish>[], overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unstakeImmediate(_amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; unstakeRequest(_account: PromiseOrValue<string>, _id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.RequestStructOutput>; updateConfig(_unstakeDuration: PromiseOrValue<BigNumberish>, _claimDuration: PromiseOrValue<BigNumberish>, _earlyUnstakeFee: PromiseOrValue<BigNumberish>, _earlyClaimFee: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; updateRequiredPrivileges(newRequiredPrivileges: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { DEFAULT_PRIVILEGES(overrides?: CallOverrides): Promise<string>; GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; GLOBAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<string>; GLOBAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<string>; LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>; LOCAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<string>; LOCAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<string>; SOMA(overrides?: CallOverrides): Promise<string>; TOKEN_RECOVERY_ROLE(overrides?: CallOverrides): Promise<string>; addRewardToken(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; adminClaim(_asset: PromiseOrValue<string>, _to: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; adminClaimable(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; cancelClaimRequests(_assets: PromiseOrValue<string>[], _ids: PromiseOrValue<BigNumberish>[][], overrides?: CallOverrides): Promise<void>; cancelUnstakeRequests(_ids: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>; claim(_assets: PromiseOrValue<string>[], _ids: PromiseOrValue<BigNumberish>[][], overrides?: CallOverrides): Promise<void>; claimImmediate(_assets: PromiseOrValue<string>[], _amounts: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>; claimRequest(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, _id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.RequestStructOutput>; claimable(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; config(overrides?: CallOverrides): Promise<ISomaStaking.StakingConfigStructOutput>; createClaimRequests(_assets: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<BigNumber[]>; createStrategy(_startDate: PromiseOrValue<BigNumberish>, _endDate: PromiseOrValue<BigNumberish>, _rewardToken: PromiseOrValue<string>, _rewardAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; createUnstakeRequest(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; currentTPS(token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; debt(_account: PromiseOrValue<string>, _asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>; hasPrivileges(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>; initialize(stakingToken_: PromiseOrValue<string>, rewardTokens_: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>; multicall(data: PromiseOrValue<BytesLike>[], overrides?: CallOverrides): Promise<string[]>; pause(overrides?: CallOverrides): Promise<void>; paused(overrides?: CallOverrides): Promise<boolean>; pendingStrategy(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.StrategyStructOutput>; recoverTokens(token: PromiseOrValue<string>, to: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; requiredPrivileges(overrides?: CallOverrides): Promise<string>; rewardToken(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>; seize(from: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; stake(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; stakeOf(_account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; stakingToken(overrides?: CallOverrides): Promise<string>; strategy(id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.StrategyStructOutput>; supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; totalPendingStrategies(overrides?: CallOverrides): Promise<BigNumber>; totalPendingUnstake(overrides?: CallOverrides): Promise<BigNumber>; totalRewardTokens(overrides?: CallOverrides): Promise<BigNumber>; totalStaked(overrides?: CallOverrides): Promise<BigNumber>; totalStrategies(overrides?: CallOverrides): Promise<BigNumber>; tps(_asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; unpause(overrides?: CallOverrides): Promise<void>; unstake(_ids: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>; unstakeImmediate(_amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; unstakeRequest(_account: PromiseOrValue<string>, _id: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<ISomaStaking.RequestStructOutput>; updateConfig(_unstakeDuration: PromiseOrValue<BigNumberish>, _claimDuration: PromiseOrValue<BigNumberish>, _earlyUnstakeFee: PromiseOrValue<BigNumberish>, _earlyClaimFee: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; updateRequiredPrivileges(newRequiredPrivileges: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>; }; filters: { "AdminClaimed(address,uint256,address,address)"(asset?: PromiseOrValue<string> | null, amount?: null, to?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): AdminClaimedEventFilter; AdminClaimed(asset?: PromiseOrValue<string> | null, amount?: null, to?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): AdminClaimedEventFilter; "Claimed(address,uint256,address)"(asset?: PromiseOrValue<string> | null, amount?: null, sender?: PromiseOrValue<string> | null): ClaimedEventFilter; Claimed(asset?: PromiseOrValue<string> | null, amount?: null, sender?: PromiseOrValue<string> | null): ClaimedEventFilter; "ClaimedImmediate(address,uint256,uint256,address)"(asset?: PromiseOrValue<string> | null, amount?: null, fee?: null, sender?: PromiseOrValue<string> | null): ClaimedImmediateEventFilter; ClaimedImmediate(asset?: PromiseOrValue<string> | null, amount?: null, fee?: null, sender?: PromiseOrValue<string> | null): ClaimedImmediateEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "Paused(address)"(account?: null): PausedEventFilter; Paused(account?: null): PausedEventFilter; "RequestCancelled(uint256)"(id?: PromiseOrValue<BigNumberish> | null): RequestCancelledEventFilter; RequestCancelled(id?: PromiseOrValue<BigNumberish> | null): RequestCancelledEventFilter; "RequestCreated(uint256,address,uint256,address,uint8)"(id?: PromiseOrValue<BigNumberish> | null, asset?: PromiseOrValue<string> | null, amount?: null, sender?: PromiseOrValue<string> | null, requestType?: null): RequestCreatedEventFilter; RequestCreated(id?: PromiseOrValue<BigNumberish> | null, asset?: PromiseOrValue<string> | null, amount?: null, sender?: PromiseOrValue<string> | null, requestType?: null): RequestCreatedEventFilter; "RequestFulfilled(uint256)"(id?: PromiseOrValue<BigNumberish> | null): RequestFulfilledEventFilter; RequestFulfilled(id?: PromiseOrValue<BigNumberish> | null): RequestFulfilledEventFilter; "RequiredPrivilegesUpdated(bytes32,bytes32,address)"(prevPrivileges?: null, newPrivileges?: null, sender?: PromiseOrValue<string> | null): RequiredPrivilegesUpdatedEventFilter; RequiredPrivilegesUpdated(prevPrivileges?: null, newPrivileges?: null, sender?: PromiseOrValue<string> | null): RequiredPrivilegesUpdatedEventFilter; "RewardTokenAdded(address,address)"(token?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RewardTokenAddedEventFilter; RewardTokenAdded(token?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RewardTokenAddedEventFilter; "Seized(address,address,uint256,uint256[],address)"(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, amount?: null, seizedRewards?: null, sender?: PromiseOrValue<string> | null): SeizedEventFilter; Seized(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, amount?: null, seizedRewards?: null, sender?: PromiseOrValue<string> | null): SeizedEventFilter; "Staked(uint256,address)"(amount?: null, sender?: PromiseOrValue<string> | null): StakedEventFilter; Staked(amount?: null, sender?: PromiseOrValue<string> | null): StakedEventFilter; "StakingConfigUpdated(tuple,tuple,address)"(prevConfig?: null, newConfig?: null, sender?: PromiseOrValue<string> | null): StakingConfigUpdatedEventFilter; StakingConfigUpdated(prevConfig?: null, newConfig?: null, sender?: PromiseOrValue<string> | null): StakingConfigUpdatedEventFilter; "StrategyCreated(address,uint256,uint256,uint256,address)"(rewardToken?: PromiseOrValue<string> | null, amount?: null, startDate?: null, endDate?: null, sender?: PromiseOrValue<string> | null): StrategyCreatedEventFilter; StrategyCreated(rewardToken?: PromiseOrValue<string> | null, amount?: null, startDate?: null, endDate?: null, sender?: PromiseOrValue<string> | null): StrategyCreatedEventFilter; "TokensRecovered(address,address,uint256,address)"(token?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, amount?: null, sender?: PromiseOrValue<string> | null): TokensRecoveredEventFilter; TokensRecovered(token?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, amount?: null, sender?: PromiseOrValue<string> | null): TokensRecoveredEventFilter; "Unpaused(address)"(account?: null): UnpausedEventFilter; Unpaused(account?: null): UnpausedEventFilter; "Unstaked(uint256,address)"(amount?: null, sender?: PromiseOrValue<string> | null): UnstakedEventFilter; Unstaked(amount?: null, sender?: PromiseOrValue<string> | null): UnstakedEventFilter; "UnstakedImmediate(uint256,uint256,address)"(amount?: null, fee?: null, sender?: PromiseOrValue<string> | null): UnstakedImmediateEventFilter; UnstakedImmediate(amount?: null, fee?: null, sender?: PromiseOrValue<string> | null): UnstakedImmediateEventFilter; }; estimateGas: { DEFAULT_PRIVILEGES(overrides?: CallOverrides): Promise<BigNumber>; GLOBAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>; GLOBAL_SEIZE_ROLE(overrides?: CallOverrides): Promise<BigNumber>; GLOBAL_UPDATE_PRIVILEGES_ROLE(overrides?: CallOverrides): Promise<BigNumber>; LOCAL_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>; LOCAL_SEIZE_ROLE(overrides?: CallOverrides): Promis