UNPKG

@orionprotocol/contracts

Version:
362 lines (361 loc) 24.9 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 StakingRewardsWithLongTermBonusInterface extends utils.Interface { functions: { "balanceOf(address)": FunctionFragment; "earned(address)": FunctionFragment; "emergencyAssetWithdrawal(address)": FunctionFragment; "exit()": FunctionFragment; "findLastBalanceInPeriod(address,uint16)": FunctionFragment; "getReward()": FunctionFragment; "getRewardForDuration()": FunctionFragment; "initialize(address,address,address)": FunctionFragment; "lastTimeRewardApplicable()": FunctionFragment; "lastUpdateTime()": FunctionFragment; "notifyRewardAmount(uint256,uint256,uint256)": FunctionFragment; "periodFinish()": FunctionFragment; "rewardPerToken()": FunctionFragment; "rewardPerTokenStored()": FunctionFragment; "rewardRate()": FunctionFragment; "rewards(address)": FunctionFragment; "rewardsDistribution()": FunctionFragment; "rewardsDuration()": FunctionFragment; "rewardsToken()": FunctionFragment; "stake(uint256)": FunctionFragment; "stakeWithPermit(uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "stakingToken()": FunctionFragment; "totalSupply()": FunctionFragment; "userRewardPerTokenPaid(address)": FunctionFragment; "withdraw(uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "balanceOf" | "earned" | "emergencyAssetWithdrawal" | "exit" | "findLastBalanceInPeriod" | "getReward" | "getRewardForDuration" | "initialize" | "lastTimeRewardApplicable" | "lastUpdateTime" | "notifyRewardAmount" | "periodFinish" | "rewardPerToken" | "rewardPerTokenStored" | "rewardRate" | "rewards" | "rewardsDistribution" | "rewardsDuration" | "rewardsToken" | "stake" | "stakeWithPermit" | "stakingToken" | "totalSupply" | "userRewardPerTokenPaid" | "withdraw"): FunctionFragment; encodeFunctionData(functionFragment: "balanceOf", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "earned", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "emergencyAssetWithdrawal", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "exit", values?: undefined): string; encodeFunctionData(functionFragment: "findLastBalanceInPeriod", values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "getReward", values?: undefined): string; encodeFunctionData(functionFragment: "getRewardForDuration", values?: undefined): string; encodeFunctionData(functionFragment: "initialize", values: [ PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string> ]): string; encodeFunctionData(functionFragment: "lastTimeRewardApplicable", values?: undefined): string; encodeFunctionData(functionFragment: "lastUpdateTime", values?: undefined): string; encodeFunctionData(functionFragment: "notifyRewardAmount", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish> ]): string; encodeFunctionData(functionFragment: "periodFinish", values?: undefined): string; encodeFunctionData(functionFragment: "rewardPerToken", values?: undefined): string; encodeFunctionData(functionFragment: "rewardPerTokenStored", values?: undefined): string; encodeFunctionData(functionFragment: "rewardRate", values?: undefined): string; encodeFunctionData(functionFragment: "rewards", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "rewardsDistribution", values?: undefined): string; encodeFunctionData(functionFragment: "rewardsDuration", values?: undefined): string; encodeFunctionData(functionFragment: "rewardsToken", values?: undefined): string; encodeFunctionData(functionFragment: "stake", values: [PromiseOrValue<BigNumberish>]): string; encodeFunctionData(functionFragment: "stakeWithPermit", values: [ PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>, PromiseOrValue<BytesLike> ]): string; encodeFunctionData(functionFragment: "stakingToken", values?: undefined): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "userRewardPerTokenPaid", values: [PromiseOrValue<string>]): string; encodeFunctionData(functionFragment: "withdraw", values: [PromiseOrValue<BigNumberish>]): string; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "earned", data: BytesLike): Result; decodeFunctionResult(functionFragment: "emergencyAssetWithdrawal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "exit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "findLastBalanceInPeriod", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReward", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRewardForDuration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lastTimeRewardApplicable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lastUpdateTime", data: BytesLike): Result; decodeFunctionResult(functionFragment: "notifyRewardAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "periodFinish", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardPerToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardPerTokenStored", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsDistribution", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsDuration", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardsToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakeWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stakingToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "userRewardPerTokenPaid", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "RewardAdded(uint256)": EventFragment; "RewardPaid(address,uint256)": EventFragment; "Staked(address,uint256)": EventFragment; "Withdrawn(address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "RewardAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "RewardPaid"): EventFragment; getEvent(nameOrSignatureOrTopic: "Staked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdrawn"): EventFragment; } export interface RewardAddedEventObject { reward: BigNumber; } export type RewardAddedEvent = TypedEvent<[BigNumber], RewardAddedEventObject>; export type RewardAddedEventFilter = TypedEventFilter<RewardAddedEvent>; export interface RewardPaidEventObject { user: string; reward: BigNumber; } export type RewardPaidEvent = TypedEvent<[ string, BigNumber ], RewardPaidEventObject>; export type RewardPaidEventFilter = TypedEventFilter<RewardPaidEvent>; export interface StakedEventObject { user: string; amount: BigNumber; } export type StakedEvent = TypedEvent<[string, BigNumber], StakedEventObject>; export type StakedEventFilter = TypedEventFilter<StakedEvent>; export interface WithdrawnEventObject { user: string; amount: BigNumber; } export type WithdrawnEvent = TypedEvent<[ string, BigNumber ], WithdrawnEventObject>; export type WithdrawnEventFilter = TypedEventFilter<WithdrawnEvent>; export interface StakingRewardsWithLongTermBonus extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: StakingRewardsWithLongTermBonusInterface; 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: { balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; emergencyAssetWithdrawal(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; exit(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; findLastBalanceInPeriod(account: PromiseOrValue<string>, period: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber] & { longTermStake: BigNumber; }>; getReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getRewardForDuration(overrides?: CallOverrides): Promise<[BigNumber]>; initialize(_rewardsDistribution: PromiseOrValue<string>, _rewardsToken: PromiseOrValue<string>, _stakingToken: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; lastTimeRewardApplicable(overrides?: CallOverrides): Promise<[BigNumber]>; lastUpdateTime(overrides?: CallOverrides): Promise<[BigNumber]>; notifyRewardAmount(reward: PromiseOrValue<BigNumberish>, _rewardsDuration: PromiseOrValue<BigNumberish>, longTermBonus: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; periodFinish(overrides?: CallOverrides): Promise<[BigNumber]>; rewardPerToken(overrides?: CallOverrides): Promise<[BigNumber]>; rewardPerTokenStored(overrides?: CallOverrides): Promise<[BigNumber]>; rewardRate(overrides?: CallOverrides): Promise<[BigNumber]>; rewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; rewardsDistribution(overrides?: CallOverrides): Promise<[string]>; rewardsDuration(overrides?: CallOverrides): Promise<[BigNumber]>; rewardsToken(overrides?: CallOverrides): Promise<[string]>; stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stakeWithPermit(amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stakingToken(overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; userRewardPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>; withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; }; balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; emergencyAssetWithdrawal(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; exit(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; findLastBalanceInPeriod(account: PromiseOrValue<string>, period: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; getRewardForDuration(overrides?: CallOverrides): Promise<BigNumber>; initialize(_rewardsDistribution: PromiseOrValue<string>, _rewardsToken: PromiseOrValue<string>, _stakingToken: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; lastTimeRewardApplicable(overrides?: CallOverrides): Promise<BigNumber>; lastUpdateTime(overrides?: CallOverrides): Promise<BigNumber>; notifyRewardAmount(reward: PromiseOrValue<BigNumberish>, _rewardsDuration: PromiseOrValue<BigNumberish>, longTermBonus: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; periodFinish(overrides?: CallOverrides): Promise<BigNumber>; rewardPerToken(overrides?: CallOverrides): Promise<BigNumber>; rewardPerTokenStored(overrides?: CallOverrides): Promise<BigNumber>; rewardRate(overrides?: CallOverrides): Promise<BigNumber>; rewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; rewardsDistribution(overrides?: CallOverrides): Promise<string>; rewardsDuration(overrides?: CallOverrides): Promise<BigNumber>; rewardsToken(overrides?: CallOverrides): Promise<string>; stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stakeWithPermit(amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; stakingToken(overrides?: CallOverrides): Promise<string>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; userRewardPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<ContractTransaction>; callStatic: { balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; emergencyAssetWithdrawal(asset: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; exit(overrides?: CallOverrides): Promise<void>; findLastBalanceInPeriod(account: PromiseOrValue<string>, period: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getReward(overrides?: CallOverrides): Promise<void>; getRewardForDuration(overrides?: CallOverrides): Promise<BigNumber>; initialize(_rewardsDistribution: PromiseOrValue<string>, _rewardsToken: PromiseOrValue<string>, _stakingToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>; lastTimeRewardApplicable(overrides?: CallOverrides): Promise<BigNumber>; lastUpdateTime(overrides?: CallOverrides): Promise<BigNumber>; notifyRewardAmount(reward: PromiseOrValue<BigNumberish>, _rewardsDuration: PromiseOrValue<BigNumberish>, longTermBonus: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; periodFinish(overrides?: CallOverrides): Promise<BigNumber>; rewardPerToken(overrides?: CallOverrides): Promise<BigNumber>; rewardPerTokenStored(overrides?: CallOverrides): Promise<BigNumber>; rewardRate(overrides?: CallOverrides): Promise<BigNumber>; rewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; rewardsDistribution(overrides?: CallOverrides): Promise<string>; rewardsDuration(overrides?: CallOverrides): Promise<BigNumber>; rewardsToken(overrides?: CallOverrides): Promise<string>; stake(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; stakeWithPermit(amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>; stakingToken(overrides?: CallOverrides): Promise<string>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; userRewardPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>; }; filters: { "RewardAdded(uint256)"(reward?: null): RewardAddedEventFilter; RewardAdded(reward?: null): RewardAddedEventFilter; "RewardPaid(address,uint256)"(user?: PromiseOrValue<string> | null, reward?: null): RewardPaidEventFilter; RewardPaid(user?: PromiseOrValue<string> | null, reward?: null): RewardPaidEventFilter; "Staked(address,uint256)"(user?: PromiseOrValue<string> | null, amount?: null): StakedEventFilter; Staked(user?: PromiseOrValue<string> | null, amount?: null): StakedEventFilter; "Withdrawn(address,uint256)"(user?: PromiseOrValue<string> | null, amount?: null): WithdrawnEventFilter; Withdrawn(user?: PromiseOrValue<string> | null, amount?: null): WithdrawnEventFilter; }; estimateGas: { balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; emergencyAssetWithdrawal(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; exit(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; findLastBalanceInPeriod(account: PromiseOrValue<string>, period: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>; getReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; getRewardForDuration(overrides?: CallOverrides): Promise<BigNumber>; initialize(_rewardsDistribution: PromiseOrValue<string>, _rewardsToken: PromiseOrValue<string>, _stakingToken: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; lastTimeRewardApplicable(overrides?: CallOverrides): Promise<BigNumber>; lastUpdateTime(overrides?: CallOverrides): Promise<BigNumber>; notifyRewardAmount(reward: PromiseOrValue<BigNumberish>, _rewardsDuration: PromiseOrValue<BigNumberish>, longTermBonus: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; periodFinish(overrides?: CallOverrides): Promise<BigNumber>; rewardPerToken(overrides?: CallOverrides): Promise<BigNumber>; rewardPerTokenStored(overrides?: CallOverrides): Promise<BigNumber>; rewardRate(overrides?: CallOverrides): Promise<BigNumber>; rewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; rewardsDistribution(overrides?: CallOverrides): Promise<BigNumber>; rewardsDuration(overrides?: CallOverrides): Promise<BigNumber>; rewardsToken(overrides?: CallOverrides): Promise<BigNumber>; stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; stakeWithPermit(amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; stakingToken(overrides?: CallOverrides): Promise<BigNumber>; totalSupply(overrides?: CallOverrides): Promise<BigNumber>; userRewardPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>; withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<BigNumber>; }; populateTransaction: { balanceOf(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; earned(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; emergencyAssetWithdrawal(asset: PromiseOrValue<string>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; exit(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; findLastBalanceInPeriod(account: PromiseOrValue<string>, period: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>; getReward(overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; getRewardForDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>; initialize(_rewardsDistribution: PromiseOrValue<string>, _rewardsToken: PromiseOrValue<string>, _stakingToken: PromiseOrValue<string>, overrides?: PayableOverrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; lastTimeRewardApplicable(overrides?: CallOverrides): Promise<PopulatedTransaction>; lastUpdateTime(overrides?: CallOverrides): Promise<PopulatedTransaction>; notifyRewardAmount(reward: PromiseOrValue<BigNumberish>, _rewardsDuration: PromiseOrValue<BigNumberish>, longTermBonus: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; periodFinish(overrides?: CallOverrides): Promise<PopulatedTransaction>; rewardPerToken(overrides?: CallOverrides): Promise<PopulatedTransaction>; rewardPerTokenStored(overrides?: CallOverrides): Promise<PopulatedTransaction>; rewardRate(overrides?: CallOverrides): Promise<PopulatedTransaction>; rewards(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; rewardsDistribution(overrides?: CallOverrides): Promise<PopulatedTransaction>; rewardsDuration(overrides?: CallOverrides): Promise<PopulatedTransaction>; rewardsToken(overrides?: CallOverrides): Promise<PopulatedTransaction>; stake(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; stakeWithPermit(amount: PromiseOrValue<BigNumberish>, deadline: PromiseOrValue<BigNumberish>, v: PromiseOrValue<BigNumberish>, r: PromiseOrValue<BytesLike>, s: PromiseOrValue<BytesLike>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; stakingToken(overrides?: CallOverrides): Promise<PopulatedTransaction>; totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>; userRewardPerTokenPaid(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>; withdraw(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & { from?: PromiseOrValue<string>; }): Promise<PopulatedTransaction>; }; }