@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
301 lines (300 loc) • 18.1 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 WarriorsofankhStakingInterface extends utils.Interface {
functions: {
"addVault(address,uint256)": FunctionFragment;
"baseReward()": FunctionFragment;
"getRewards(address,address[])": FunctionFragment;
"getStakedTokens(address,address)": FunctionFragment;
"isVaultContract(address)": FunctionFragment;
"owner()": FunctionFragment;
"renounceOwnership()": FunctionFragment;
"setBaseReward(uint256)": FunctionFragment;
"setMultiplier(address,uint256)": FunctionFragment;
"setStakingEnabled(bool)": FunctionFragment;
"stakeNfts(address,uint256[])": FunctionFragment;
"stakingEnabled()": FunctionFragment;
"totalStaked()": FunctionFragment;
"transferOwnership(address)": FunctionFragment;
"unstakeNfts(address,uint256[])": FunctionFragment;
"userStakeTokens(address,address,uint256)": FunctionFragment;
"vault(address,uint256)": FunctionFragment;
"vaultMultiplier(address)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "addVault" | "baseReward" | "getRewards" | "getStakedTokens" | "isVaultContract" | "owner" | "renounceOwnership" | "setBaseReward" | "setMultiplier" | "setStakingEnabled" | "stakeNfts" | "stakingEnabled" | "totalStaked" | "transferOwnership" | "unstakeNfts" | "userStakeTokens" | "vault" | "vaultMultiplier"): FunctionFragment;
encodeFunctionData(functionFragment: "addVault", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "baseReward", values?: undefined): string;
encodeFunctionData(functionFragment: "getRewards", values: [string, string[]]): string;
encodeFunctionData(functionFragment: "getStakedTokens", values: [string, string]): string;
encodeFunctionData(functionFragment: "isVaultContract", values: [string]): string;
encodeFunctionData(functionFragment: "owner", values?: undefined): string;
encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
encodeFunctionData(functionFragment: "setBaseReward", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "setMultiplier", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "setStakingEnabled", values: [boolean]): string;
encodeFunctionData(functionFragment: "stakeNfts", values: [string, BigNumberish[]]): string;
encodeFunctionData(functionFragment: "stakingEnabled", values?: undefined): string;
encodeFunctionData(functionFragment: "totalStaked", values?: undefined): string;
encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string;
encodeFunctionData(functionFragment: "unstakeNfts", values: [string, BigNumberish[]]): string;
encodeFunctionData(functionFragment: "userStakeTokens", values: [string, string, BigNumberish]): string;
encodeFunctionData(functionFragment: "vault", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "vaultMultiplier", values: [string]): string;
decodeFunctionResult(functionFragment: "addVault", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "baseReward", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRewards", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getStakedTokens", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "isVaultContract", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setBaseReward", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setMultiplier", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "setStakingEnabled", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stakeNfts", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "stakingEnabled", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "totalStaked", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "unstakeNfts", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "userStakeTokens", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "vault", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "vaultMultiplier", data: BytesLike): Result;
events: {
"NFTStaked(address,address,uint256,uint256)": EventFragment;
"NFTUnstaked(address,address,uint256,uint256)": EventFragment;
"OwnershipTransferred(address,address)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "NFTStaked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "NFTUnstaked"): EventFragment;
getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
}
export interface NFTStakedEventObject {
owner: string;
tokenAddress: string;
tokenId: BigNumber;
value: BigNumber;
}
export type NFTStakedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], NFTStakedEventObject>;
export type NFTStakedEventFilter = TypedEventFilter<NFTStakedEvent>;
export interface NFTUnstakedEventObject {
owner: string;
tokenAddress: string;
tokenId: BigNumber;
value: BigNumber;
}
export type NFTUnstakedEvent = TypedEvent<[
string,
string,
BigNumber,
BigNumber
], NFTUnstakedEventObject>;
export type NFTUnstakedEventFilter = TypedEventFilter<NFTUnstakedEvent>;
export interface OwnershipTransferredEventObject {
previousOwner: string;
newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
string,
string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface WarriorsofankhStaking extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: WarriorsofankhStakingInterface;
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: {
addVault(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
baseReward(overrides?: CallOverrides): Promise<[BigNumber]>;
getRewards(_user: string, vaultContracts: string[], overrides?: CallOverrides): Promise<[BigNumber]>;
getStakedTokens(_user: string, _contract: string, overrides?: CallOverrides): Promise<[BigNumber[]]>;
isVaultContract(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
owner(overrides?: CallOverrides): Promise<[string]>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setBaseReward(_reward: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setMultiplier(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setStakingEnabled(_enabled: boolean, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
stakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
stakingEnabled(overrides?: CallOverrides): Promise<[boolean]>;
totalStaked(overrides?: CallOverrides): Promise<[BigNumber]>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unstakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
userStakeTokens(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>;
vault(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
owner: string;
timestamp: BigNumber;
}>;
vaultMultiplier(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
};
addVault(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
baseReward(overrides?: CallOverrides): Promise<BigNumber>;
getRewards(_user: string, vaultContracts: string[], overrides?: CallOverrides): Promise<BigNumber>;
getStakedTokens(_user: string, _contract: string, overrides?: CallOverrides): Promise<BigNumber[]>;
isVaultContract(arg0: string, overrides?: CallOverrides): Promise<boolean>;
owner(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setBaseReward(_reward: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setMultiplier(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
setStakingEnabled(_enabled: boolean, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
stakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
stakingEnabled(overrides?: CallOverrides): Promise<boolean>;
totalStaked(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
unstakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
userStakeTokens(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
vault(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
owner: string;
timestamp: BigNumber;
}>;
vaultMultiplier(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
callStatic: {
addVault(_contract: string, _multiplier: BigNumberish, overrides?: CallOverrides): Promise<void>;
baseReward(overrides?: CallOverrides): Promise<BigNumber>;
getRewards(_user: string, vaultContracts: string[], overrides?: CallOverrides): Promise<BigNumber>;
getStakedTokens(_user: string, _contract: string, overrides?: CallOverrides): Promise<BigNumber[]>;
isVaultContract(arg0: string, overrides?: CallOverrides): Promise<boolean>;
owner(overrides?: CallOverrides): Promise<string>;
renounceOwnership(overrides?: CallOverrides): Promise<void>;
setBaseReward(_reward: BigNumberish, overrides?: CallOverrides): Promise<void>;
setMultiplier(_contract: string, _multiplier: BigNumberish, overrides?: CallOverrides): Promise<void>;
setStakingEnabled(_enabled: boolean, overrides?: CallOverrides): Promise<void>;
stakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: CallOverrides): Promise<void>;
stakingEnabled(overrides?: CallOverrides): Promise<boolean>;
totalStaked(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
unstakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: CallOverrides): Promise<void>;
userStakeTokens(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
vault(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[string, BigNumber] & {
owner: string;
timestamp: BigNumber;
}>;
vaultMultiplier(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
};
filters: {
"NFTStaked(address,address,uint256,uint256)"(owner?: null, tokenAddress?: null, tokenId?: null, value?: null): NFTStakedEventFilter;
NFTStaked(owner?: null, tokenAddress?: null, tokenId?: null, value?: null): NFTStakedEventFilter;
"NFTUnstaked(address,address,uint256,uint256)"(owner?: null, tokenAddress?: null, tokenId?: null, value?: null): NFTUnstakedEventFilter;
NFTUnstaked(owner?: null, tokenAddress?: null, tokenId?: null, value?: null): NFTUnstakedEventFilter;
"OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
};
estimateGas: {
addVault(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
baseReward(overrides?: CallOverrides): Promise<BigNumber>;
getRewards(_user: string, vaultContracts: string[], overrides?: CallOverrides): Promise<BigNumber>;
getStakedTokens(_user: string, _contract: string, overrides?: CallOverrides): Promise<BigNumber>;
isVaultContract(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
owner(overrides?: CallOverrides): Promise<BigNumber>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
setBaseReward(_reward: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
setMultiplier(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
setStakingEnabled(_enabled: boolean, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
stakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
stakingEnabled(overrides?: CallOverrides): Promise<BigNumber>;
totalStaked(overrides?: CallOverrides): Promise<BigNumber>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
unstakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
userStakeTokens(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
vault(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
vaultMultiplier(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
addVault(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
baseReward(overrides?: CallOverrides): Promise<PopulatedTransaction>;
getRewards(_user: string, vaultContracts: string[], overrides?: CallOverrides): Promise<PopulatedTransaction>;
getStakedTokens(_user: string, _contract: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
isVaultContract(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
renounceOwnership(overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
setBaseReward(_reward: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
setMultiplier(_contract: string, _multiplier: BigNumberish, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
setStakingEnabled(_enabled: boolean, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
stakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
stakingEnabled(overrides?: CallOverrides): Promise<PopulatedTransaction>;
totalStaked(overrides?: CallOverrides): Promise<PopulatedTransaction>;
transferOwnership(newOwner: string, overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
unstakeNfts(_contract: string, tokenIds: BigNumberish[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
userStakeTokens(arg0: string, arg1: string, arg2: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
vault(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
vaultMultiplier(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}