@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
383 lines (382 loc) • 19.7 kB
TypeScript
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 } from "./common.js";
export interface IStakingModuleInterface extends utils.Interface {
functions: {
"DECIMALS()": FunctionFragment;
"controller()": FunctionFragment;
"owner()": FunctionFragment;
"transferControl(address)": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"tokens()": FunctionFragment;
"balances(address)": FunctionFragment;
"factory()": FunctionFragment;
"totals()": FunctionFragment;
"stake(address,uint256,bytes)": FunctionFragment;
"unstake(address,uint256,bytes)": FunctionFragment;
"claim(address,uint256,bytes)": FunctionFragment;
"update(address)": FunctionFragment;
"clean()": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "DECIMALS" | "controller" | "owner" | "transferControl" | "transferOwnership" | "tokens" | "balances" | "factory" | "totals" | "stake" | "unstake" | "claim" | "update" | "clean"): FunctionFragment;
encodeFunctionData(functionFragment: "DECIMALS", values?: undefined): string;
encodeFunctionData(functionFragment: "controller", values?: undefined): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "transferControl", values: [string]): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string;
encodeFunctionData(functionFragment: "tokens", values?: undefined): string;
encodeFunctionData(functionFragment: "balances", values: [string]): string;
encodeFunctionData(functionFragment: "factory", values?: undefined): string;
encodeFunctionData(functionFragment: "totals", values?: undefined): string;
encodeFunctionData(functionFragment: "stake", values: [string, BigNumberish, BytesLike]): string;
encodeFunctionData(functionFragment: "unstake", values: [string, BigNumberish, BytesLike]): string;
encodeFunctionData(functionFragment: "claim", values: [string, BigNumberish, BytesLike]): string;
encodeFunctionData(functionFragment: "update", values: [string]): string;
encodeFunctionData(functionFragment: "clean", values?: undefined): string;
decodeFunctionResult(functionFragment: "DECIMALS", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "controller", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferControl", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tokens", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "balances", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "totals", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unstake", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "update", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "clean", data: BytesLike): Result;
events: {
"Claimed(address,address,uint256,uint256)": EventFragment;
"ControlTransferred(address,address)": EventFragment;
"GysrSpent(address,uint256)": EventFragment;
"GysrVested(address,uint256)": EventFragment;
"GysrWithdrawn(uint256)": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
"RewardsDistributed(address,address,uint256,uint256)": EventFragment;
"RewardsExpired(address,uint256,uint256,uint256)": EventFragment;
"RewardsFunded(address,uint256,uint256,uint256)": EventFragment;
"RewardsUnlocked(address,uint256)": EventFragment;
"Staked(address,address,uint256,uint256)": EventFragment;
"Unstaked(address,address,uint256,uint256)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "Claimed"): EventFragment;
getEvent(nameOrSignatureOrTopic: "ControlTransferred"): EventFragment;
getEvent(nameOrSignatureOrTopic: "GysrSpent"): EventFragment;
getEvent(nameOrSignatureOrTopic: "GysrVested"): EventFragment;
getEvent(nameOrSignatureOrTopic: "GysrWithdrawn"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RewardsDistributed"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RewardsExpired"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RewardsFunded"): EventFragment;
getEvent(nameOrSignatureOrTopic: "RewardsUnlocked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Staked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "Unstaked"): EventFragment;
}
export interface ClaimedEventObject {
user: string;
token: string;
amount: BigNumber;
shares: BigNumber;
}
export type ClaimedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], ClaimedEventObject>;
export type ClaimedEventFilter = TypedEventFilter<ClaimedEvent>;
export interface ControlTransferredEventObject {
previousController: string;
newController: string;
}
export type ControlTransferredEvent = TypedEvent<[
string,
string
], ControlTransferredEventObject>;
export type ControlTransferredEventFilter = TypedEventFilter<ControlTransferredEvent>;
export interface GysrSpentEventObject {
user: string;
amount: BigNumber;
}
export type GysrSpentEvent = TypedEvent<[
string,
BigNumber
], GysrSpentEventObject>;
export type GysrSpentEventFilter = TypedEventFilter<GysrSpentEvent>;
export interface GysrVestedEventObject {
user: string;
amount: BigNumber;
}
export type GysrVestedEvent = TypedEvent<[
string,
BigNumber
], GysrVestedEventObject>;
export type GysrVestedEventFilter = TypedEventFilter<GysrVestedEvent>;
export interface GysrWithdrawnEventObject {
amount: BigNumber;
}
export type GysrWithdrawnEvent = TypedEvent<[
BigNumber
], GysrWithdrawnEventObject>;
export type GysrWithdrawnEventFilter = TypedEventFilter<GysrWithdrawnEvent>;
export interface OwnershipTransferredEventObject {
previousOwner: string;
newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
string,
string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface RewardsDistributedEventObject {
user: string;
token: string;
amount: BigNumber;
shares: BigNumber;
}
export type RewardsDistributedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], RewardsDistributedEventObject>;
export type RewardsDistributedEventFilter = TypedEventFilter<RewardsDistributedEvent>;
export interface RewardsExpiredEventObject {
token: string;
amount: BigNumber;
shares: BigNumber;
timestamp: BigNumber;
}
export type RewardsExpiredEvent = TypedEvent<[
string,
BigNumber,
BigNumber,
BigNumber
], RewardsExpiredEventObject>;
export type RewardsExpiredEventFilter = TypedEventFilter<RewardsExpiredEvent>;
export interface RewardsFundedEventObject {
token: string;
amount: BigNumber;
shares: BigNumber;
timestamp: BigNumber;
}
export type RewardsFundedEvent = TypedEvent<[
string,
BigNumber,
BigNumber,
BigNumber
], RewardsFundedEventObject>;
export type RewardsFundedEventFilter = TypedEventFilter<RewardsFundedEvent>;
export interface RewardsUnlockedEventObject {
token: string;
shares: BigNumber;
}
export type RewardsUnlockedEvent = TypedEvent<[
string,
BigNumber
], RewardsUnlockedEventObject>;
export type RewardsUnlockedEventFilter = TypedEventFilter<RewardsUnlockedEvent>;
export interface StakedEventObject {
user: string;
token: string;
amount: BigNumber;
shares: BigNumber;
}
export type StakedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], StakedEventObject>;
export type StakedEventFilter = TypedEventFilter<StakedEvent>;
export interface UnstakedEventObject {
user: string;
token: string;
amount: BigNumber;
shares: BigNumber;
}
export type UnstakedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], UnstakedEventObject>;
export type UnstakedEventFilter = TypedEventFilter<UnstakedEvent>;
export interface IStakingModule extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: IStakingModuleInterface;
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: {
DECIMALS(overrides?: CallOverrides): Promise<[BigNumber]>;
controller(overrides?: CallOverrides): Promise<[string]>;
owner(overrides?: CallOverrides): Promise<[string]>;
transferControl(newController: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
tokens(overrides?: CallOverrides): Promise<[string[]]>;
balances(user: string, overrides?: CallOverrides): Promise<[BigNumber[]]>;
factory(overrides?: CallOverrides): Promise<[string]>;
totals(overrides?: CallOverrides): Promise<[BigNumber[]]>;
stake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unstake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
claim(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
update(user: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
clean(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
};
DECIMALS(overrides?: CallOverrides): Promise<BigNumber>;
controller(overrides?: CallOverrides): Promise<string>;
owner(overrides?: CallOverrides): Promise<string>;
transferControl(newController: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
tokens(overrides?: CallOverrides): Promise<string[]>;
balances(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
factory(overrides?: CallOverrides): Promise<string>;
totals(overrides?: CallOverrides): Promise<BigNumber[]>;
stake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unstake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
claim(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
update(user: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
clean(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
callStatic: {
DECIMALS(overrides?: CallOverrides): Promise<BigNumber>;
controller(overrides?: CallOverrides): Promise<string>;
owner(overrides?: CallOverrides): Promise<string>;
transferControl(newController: string, overrides?: CallOverrides): Promise<void>;
transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
tokens(overrides?: CallOverrides): Promise<string[]>;
balances(user: string, overrides?: CallOverrides): Promise<BigNumber[]>;
factory(overrides?: CallOverrides): Promise<string>;
totals(overrides?: CallOverrides): Promise<BigNumber[]>;
stake(user: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides): Promise<[string, BigNumber]>;
unstake(user: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides): Promise<[string, BigNumber]>;
claim(user: string, amount: BigNumberish, data: BytesLike, overrides?: CallOverrides): Promise<[string, BigNumber]>;
update(user: string, overrides?: CallOverrides): Promise<void>;
clean(overrides?: CallOverrides): Promise<void>;
};
filters: {
"Claimed(address,address,uint256,uint256)"(user?: string | null, token?: string | null, amount?: null, shares?: null): ClaimedEventFilter;
Claimed(user?: string | null, token?: string | null, amount?: null, shares?: null): ClaimedEventFilter;
"ControlTransferred(address,address)"(previousController?: string | null, newController?: string | null): ControlTransferredEventFilter;
ControlTransferred(previousController?: string | null, newController?: string | null): ControlTransferredEventFilter;
"GysrSpent(address,uint256)"(user?: string | null, amount?: null): GysrSpentEventFilter;
GysrSpent(user?: string | null, amount?: null): GysrSpentEventFilter;
"GysrVested(address,uint256)"(user?: string | null, amount?: null): GysrVestedEventFilter;
GysrVested(user?: string | null, amount?: null): GysrVestedEventFilter;
"GysrWithdrawn(uint256)"(amount?: null): GysrWithdrawnEventFilter;
GysrWithdrawn(amount?: null): GysrWithdrawnEventFilter;
"OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
"RewardsDistributed(address,address,uint256,uint256)"(user?: string | null, token?: string | null, amount?: null, shares?: null): RewardsDistributedEventFilter;
RewardsDistributed(user?: string | null, token?: string | null, amount?: null, shares?: null): RewardsDistributedEventFilter;
"RewardsExpired(address,uint256,uint256,uint256)"(token?: string | null, amount?: null, shares?: null, timestamp?: null): RewardsExpiredEventFilter;
RewardsExpired(token?: string | null, amount?: null, shares?: null, timestamp?: null): RewardsExpiredEventFilter;
"RewardsFunded(address,uint256,uint256,uint256)"(token?: string | null, amount?: null, shares?: null, timestamp?: null): RewardsFundedEventFilter;
RewardsFunded(token?: string | null, amount?: null, shares?: null, timestamp?: null): RewardsFundedEventFilter;
"RewardsUnlocked(address,uint256)"(token?: string | null, shares?: null): RewardsUnlockedEventFilter;
RewardsUnlocked(token?: string | null, shares?: null): RewardsUnlockedEventFilter;
"Staked(address,address,uint256,uint256)"(user?: string | null, token?: string | null, amount?: null, shares?: null): StakedEventFilter;
Staked(user?: string | null, token?: string | null, amount?: null, shares?: null): StakedEventFilter;
"Unstaked(address,address,uint256,uint256)"(user?: string | null, token?: string | null, amount?: null, shares?: null): UnstakedEventFilter;
Unstaked(user?: string | null, token?: string | null, amount?: null, shares?: null): UnstakedEventFilter;
};
estimateGas: {
DECIMALS(overrides?: CallOverrides): Promise<BigNumber>;
controller(overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
transferControl(newController: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
tokens(overrides?: CallOverrides): Promise<BigNumber>;
balances(user: string, overrides?: CallOverrides): Promise<BigNumber>;
factory(overrides?: CallOverrides): Promise<BigNumber>;
totals(overrides?: CallOverrides): Promise<BigNumber>;
stake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
unstake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
claim(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
update(user: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
clean(overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
};
populateTransaction: {
DECIMALS(overrides?: CallOverrides): Promise<PopulatedTransaction>;
controller(overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
transferControl(newController: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
tokens(overrides?: CallOverrides): Promise<PopulatedTransaction>;
balances(user: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
factory(overrides?: CallOverrides): Promise<PopulatedTransaction>;
totals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
stake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
unstake(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
claim(user: string, amount: BigNumberish, data: BytesLike, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
update(user: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
clean(overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
};
}