@collabland/staking-contracts
Version:
Staking contracts supported by Collab.Land
593 lines (592 loc) • 24.9 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
import type { FunctionFragment, Result } from "@ethersproject/abi";
import type { Listener, Provider } from "@ethersproject/providers";
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common.js";
export type RoyaltyFeeRateStruct = {
receipt: string;
marketlist: BigNumberish;
vault: BigNumberish;
raffle: BigNumberish;
};
export type RoyaltyFeeRateStructOutput = [string, number, number, number] & {
receipt: string;
marketlist: number;
vault: number;
raffle: number;
};
export type SafeboxFeeRateStruct = {
receipt: string;
auctionOwned: BigNumberish;
auctionExpired: BigNumberish;
raffle: BigNumberish;
marketlist: BigNumberish;
};
export type SafeboxFeeRateStructOutput = [
string,
number,
number,
number,
number
] & {
receipt: string;
auctionOwned: number;
auctionExpired: number;
raffle: number;
marketlist: number;
};
export type VaultFeeRateStruct = {
receipt: string;
vaultAuction: BigNumberish;
redemptionBase: BigNumberish;
};
export type VaultFeeRateStructOutput = [string, number, number] & {
receipt: string;
vaultAuction: number;
redemptionBase: number;
};
export type FeeConfigStruct = {
royalty: RoyaltyFeeRateStruct;
safeboxFee: SafeboxFeeRateStruct;
vaultFee: VaultFeeRateStruct;
};
export type FeeConfigStructOutput = [
RoyaltyFeeRateStructOutput,
SafeboxFeeRateStructOutput,
VaultFeeRateStructOutput
] & {
royalty: RoyaltyFeeRateStructOutput;
safeboxFee: SafeboxFeeRateStructOutput;
vaultFee: VaultFeeRateStructOutput;
};
export type FeeRateStruct = {
receipt: string;
rateBips: BigNumberish;
};
export type FeeRateStructOutput = [string, number] & {
receipt: string;
rateBips: number;
};
export type FeesStruct = {
royalty: FeeRateStruct;
protocol: FeeRateStruct;
};
export type FeesStructOutput = [FeeRateStructOutput, FeeRateStructOutput] & {
royalty: FeeRateStructOutput;
protocol: FeeRateStructOutput;
};
export type TicketRecordStruct = {
buyer: string;
startIdx: BigNumberish;
endIdx: BigNumberish;
};
export type TicketRecordStructOutput = [string, number, number] & {
buyer: string;
startIdx: number;
endIdx: number;
};
export type SafeBoxStruct = {
keyId: BigNumberish;
expiryTs: BigNumberish;
owner: string;
};
export type SafeBoxStructOutput = [BigNumber, number, string] & {
keyId: BigNumber;
expiryTs: number;
owner: string;
};
export type SafeBoxKeyStruct = {
lockingCredit: BigNumberish;
keyId: BigNumberish;
vipLevel: BigNumberish;
};
export type SafeBoxKeyStructOutput = [BigNumber, BigNumber, number] & {
lockingCredit: BigNumber;
keyId: BigNumber;
vipLevel: number;
};
export declare namespace FloorGetter {
type CollectionInfoStruct = {
fragmentToken: string;
freeNftLength: BigNumberish;
lastUpdatedBucket: BigNumberish;
nextKeyId: BigNumberish;
activeSafeBoxCnt: BigNumberish;
infiniteCnt: BigNumberish;
nextActivityId: BigNumberish;
lastVaultAuctionPeriodTs: BigNumberish;
_contractAddr: string;
};
type CollectionInfoStructOutput = [
string,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
BigNumber,
number,
string
] & {
fragmentToken: string;
freeNftLength: BigNumber;
lastUpdatedBucket: BigNumber;
nextKeyId: BigNumber;
activeSafeBoxCnt: BigNumber;
infiniteCnt: BigNumber;
nextActivityId: BigNumber;
lastVaultAuctionPeriodTs: number;
_contractAddr: string;
};
}
export interface FloorGetterInterface extends utils.Interface {
functions: {
"_flooring()": FunctionFragment;
"collectionFee(address,address)": FunctionFragment;
"collectionInfo(address)": FunctionFragment;
"collectionProxy(address)": FunctionFragment;
"fragmentTokenOf(address)": FunctionFragment;
"getAuction(address,uint256)": FunctionFragment;
"getFreeNftIds(address,uint256,uint256)": FunctionFragment;
"getPrivateOffer(address,uint256)": FunctionFragment;
"getRaffle(address,uint256)": FunctionFragment;
"getRaffleTicketRecords(address,uint256,uint256,uint256)": FunctionFragment;
"getSafeBox(address,uint256)": FunctionFragment;
"multicall(bytes[])": FunctionFragment;
"supportedToken(address)": FunctionFragment;
"tokenBalance(address,address)": FunctionFragment;
"userAccount(address)": FunctionFragment;
"userCollection(address,address,uint256)": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "_flooring" | "collectionFee" | "collectionInfo" | "collectionProxy" | "fragmentTokenOf" | "getAuction" | "getFreeNftIds" | "getPrivateOffer" | "getRaffle" | "getRaffleTicketRecords" | "getSafeBox" | "multicall" | "supportedToken" | "tokenBalance" | "userAccount" | "userCollection"): FunctionFragment;
encodeFunctionData(functionFragment: "_flooring", values?: undefined): string;
encodeFunctionData(functionFragment: "collectionFee", values: [string, string]): string;
encodeFunctionData(functionFragment: "collectionInfo", values: [string]): string;
encodeFunctionData(functionFragment: "collectionProxy", values: [string]): string;
encodeFunctionData(functionFragment: "fragmentTokenOf", values: [string]): string;
encodeFunctionData(functionFragment: "getAuction", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "getFreeNftIds", values: [string, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "getPrivateOffer", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "getRaffle", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "getRaffleTicketRecords", values: [string, BigNumberish, BigNumberish, BigNumberish]): string;
encodeFunctionData(functionFragment: "getSafeBox", values: [string, BigNumberish]): string;
encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string;
encodeFunctionData(functionFragment: "supportedToken", values: [string]): string;
encodeFunctionData(functionFragment: "tokenBalance", values: [string, string]): string;
encodeFunctionData(functionFragment: "userAccount", values: [string]): string;
encodeFunctionData(functionFragment: "userCollection", values: [string, string, BigNumberish]): string;
decodeFunctionResult(functionFragment: "_flooring", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collectionFee", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collectionInfo", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "collectionProxy", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "fragmentTokenOf", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getAuction", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getFreeNftIds", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getPrivateOffer", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRaffle", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRaffleTicketRecords", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getSafeBox", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "supportedToken", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "tokenBalance", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "userAccount", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "userCollection", data: BytesLike): Result;
events: {};
}
export interface FloorGetter extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: FloorGetterInterface;
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: {
_flooring(overrides?: CallOverrides): Promise<[string]>;
collectionFee(collection: string, token: string, overrides?: CallOverrides): Promise<[FeeConfigStructOutput] & {
fee: FeeConfigStructOutput;
}>;
collectionInfo(collection: string, overrides?: CallOverrides): Promise<[
FloorGetter.CollectionInfoStructOutput
] & {
info: FloorGetter.CollectionInfoStructOutput;
}>;
collectionProxy(proxy: string, overrides?: CallOverrides): Promise<[string]>;
fragmentTokenOf(collection: string, overrides?: CallOverrides): Promise<[string] & {
token: string;
}>;
getAuction(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
BigNumber,
BigNumber,
string,
string,
BigNumber,
number,
FeesStructOutput
] & {
endTime: BigNumber;
bidToken: string;
minimumBid: BigNumber;
lastBidAmount: BigNumber;
lastBidder: string;
triggerAddress: string;
activityId: BigNumber;
typ: number;
fees: FeesStructOutput;
}>;
getFreeNftIds(collection: string, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber[]] & {
nftIds: BigNumber[];
}>;
getPrivateOffer(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
BigNumber,
string,
string,
BigNumber,
FeesStructOutput
] & {
endTime: BigNumber;
token: string;
price: BigNumber;
owner: string;
buyer: string;
activityId: BigNumber;
fees: FeesStructOutput;
}>;
getRaffle(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
number,
number,
string,
BigNumber,
BigNumber,
BigNumber,
string,
number,
boolean,
BigNumber,
FeesStructOutput
] & {
endTime: number;
maxTickets: number;
token: string;
ticketPrice: BigNumber;
collectedFund: BigNumber;
activityId: BigNumber;
owner: string;
ticketSold: number;
isSettling: boolean;
ticketsArrLen: BigNumber;
fees: FeesStructOutput;
}>;
getRaffleTicketRecords(collection: string, nftId: BigNumberish, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<[
TicketRecordStructOutput[]
] & {
tickets: TicketRecordStructOutput[];
}>;
getSafeBox(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[SafeBoxStructOutput] & {
safeBox: SafeBoxStructOutput;
}>;
multicall(data: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
supportedToken(token: string, overrides?: CallOverrides): Promise<[boolean]>;
tokenBalance(user: string, token: string, overrides?: CallOverrides): Promise<[BigNumber]>;
userAccount(user: string, overrides?: CallOverrides): Promise<[
BigNumber,
string,
number,
BigNumber[],
BigNumber,
number,
number
] & {
minMaintCredit: BigNumber;
firstCollection: string;
minMaintVipLevel: number;
vipKeyCnts: BigNumber[];
lockedCredit: BigNumber;
lastQuotaPeriodTs: number;
safeboxQuotaUsed: number;
}>;
userCollection(user: string, collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
number,
number,
number,
SafeBoxKeyStructOutput
] & {
totalLockingCredit: BigNumber;
next: string;
keyCnt: number;
vaultContQuota: number;
lastVaultActiveTs: number;
key: SafeBoxKeyStructOutput;
}>;
};
_flooring(overrides?: CallOverrides): Promise<string>;
collectionFee(collection: string, token: string, overrides?: CallOverrides): Promise<FeeConfigStructOutput>;
collectionInfo(collection: string, overrides?: CallOverrides): Promise<FloorGetter.CollectionInfoStructOutput>;
collectionProxy(proxy: string, overrides?: CallOverrides): Promise<string>;
fragmentTokenOf(collection: string, overrides?: CallOverrides): Promise<string>;
getAuction(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
BigNumber,
BigNumber,
string,
string,
BigNumber,
number,
FeesStructOutput
] & {
endTime: BigNumber;
bidToken: string;
minimumBid: BigNumber;
lastBidAmount: BigNumber;
lastBidder: string;
triggerAddress: string;
activityId: BigNumber;
typ: number;
fees: FeesStructOutput;
}>;
getFreeNftIds(collection: string, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<BigNumber[]>;
getPrivateOffer(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
BigNumber,
string,
string,
BigNumber,
FeesStructOutput
] & {
endTime: BigNumber;
token: string;
price: BigNumber;
owner: string;
buyer: string;
activityId: BigNumber;
fees: FeesStructOutput;
}>;
getRaffle(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
number,
number,
string,
BigNumber,
BigNumber,
BigNumber,
string,
number,
boolean,
BigNumber,
FeesStructOutput
] & {
endTime: number;
maxTickets: number;
token: string;
ticketPrice: BigNumber;
collectedFund: BigNumber;
activityId: BigNumber;
owner: string;
ticketSold: number;
isSettling: boolean;
ticketsArrLen: BigNumber;
fees: FeesStructOutput;
}>;
getRaffleTicketRecords(collection: string, nftId: BigNumberish, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<TicketRecordStructOutput[]>;
getSafeBox(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<SafeBoxStructOutput>;
multicall(data: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<ContractTransaction>;
supportedToken(token: string, overrides?: CallOverrides): Promise<boolean>;
tokenBalance(user: string, token: string, overrides?: CallOverrides): Promise<BigNumber>;
userAccount(user: string, overrides?: CallOverrides): Promise<[
BigNumber,
string,
number,
BigNumber[],
BigNumber,
number,
number
] & {
minMaintCredit: BigNumber;
firstCollection: string;
minMaintVipLevel: number;
vipKeyCnts: BigNumber[];
lockedCredit: BigNumber;
lastQuotaPeriodTs: number;
safeboxQuotaUsed: number;
}>;
userCollection(user: string, collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
number,
number,
number,
SafeBoxKeyStructOutput
] & {
totalLockingCredit: BigNumber;
next: string;
keyCnt: number;
vaultContQuota: number;
lastVaultActiveTs: number;
key: SafeBoxKeyStructOutput;
}>;
callStatic: {
_flooring(overrides?: CallOverrides): Promise<string>;
collectionFee(collection: string, token: string, overrides?: CallOverrides): Promise<FeeConfigStructOutput>;
collectionInfo(collection: string, overrides?: CallOverrides): Promise<FloorGetter.CollectionInfoStructOutput>;
collectionProxy(proxy: string, overrides?: CallOverrides): Promise<string>;
fragmentTokenOf(collection: string, overrides?: CallOverrides): Promise<string>;
getAuction(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
BigNumber,
BigNumber,
string,
string,
BigNumber,
number,
FeesStructOutput
] & {
endTime: BigNumber;
bidToken: string;
minimumBid: BigNumber;
lastBidAmount: BigNumber;
lastBidder: string;
triggerAddress: string;
activityId: BigNumber;
typ: number;
fees: FeesStructOutput;
}>;
getFreeNftIds(collection: string, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<BigNumber[]>;
getPrivateOffer(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
BigNumber,
string,
string,
BigNumber,
FeesStructOutput
] & {
endTime: BigNumber;
token: string;
price: BigNumber;
owner: string;
buyer: string;
activityId: BigNumber;
fees: FeesStructOutput;
}>;
getRaffle(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
number,
number,
string,
BigNumber,
BigNumber,
BigNumber,
string,
number,
boolean,
BigNumber,
FeesStructOutput
] & {
endTime: number;
maxTickets: number;
token: string;
ticketPrice: BigNumber;
collectedFund: BigNumber;
activityId: BigNumber;
owner: string;
ticketSold: number;
isSettling: boolean;
ticketsArrLen: BigNumber;
fees: FeesStructOutput;
}>;
getRaffleTicketRecords(collection: string, nftId: BigNumberish, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<TicketRecordStructOutput[]>;
getSafeBox(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<SafeBoxStructOutput>;
multicall(data: BytesLike[], overrides?: CallOverrides): Promise<string[]>;
supportedToken(token: string, overrides?: CallOverrides): Promise<boolean>;
tokenBalance(user: string, token: string, overrides?: CallOverrides): Promise<BigNumber>;
userAccount(user: string, overrides?: CallOverrides): Promise<[
BigNumber,
string,
number,
BigNumber[],
BigNumber,
number,
number
] & {
minMaintCredit: BigNumber;
firstCollection: string;
minMaintVipLevel: number;
vipKeyCnts: BigNumber[];
lockedCredit: BigNumber;
lastQuotaPeriodTs: number;
safeboxQuotaUsed: number;
}>;
userCollection(user: string, collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<[
BigNumber,
string,
number,
number,
number,
SafeBoxKeyStructOutput
] & {
totalLockingCredit: BigNumber;
next: string;
keyCnt: number;
vaultContQuota: number;
lastVaultActiveTs: number;
key: SafeBoxKeyStructOutput;
}>;
};
filters: {};
estimateGas: {
_flooring(overrides?: CallOverrides): Promise<BigNumber>;
collectionFee(collection: string, token: string, overrides?: CallOverrides): Promise<BigNumber>;
collectionInfo(collection: string, overrides?: CallOverrides): Promise<BigNumber>;
collectionProxy(proxy: string, overrides?: CallOverrides): Promise<BigNumber>;
fragmentTokenOf(collection: string, overrides?: CallOverrides): Promise<BigNumber>;
getAuction(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getFreeNftIds(collection: string, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getPrivateOffer(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getRaffle(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getRaffleTicketRecords(collection: string, nftId: BigNumberish, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
getSafeBox(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
multicall(data: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<BigNumber>;
supportedToken(token: string, overrides?: CallOverrides): Promise<BigNumber>;
tokenBalance(user: string, token: string, overrides?: CallOverrides): Promise<BigNumber>;
userAccount(user: string, overrides?: CallOverrides): Promise<BigNumber>;
userCollection(user: string, collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
};
populateTransaction: {
_flooring(overrides?: CallOverrides): Promise<PopulatedTransaction>;
collectionFee(collection: string, token: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
collectionInfo(collection: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
collectionProxy(proxy: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
fragmentTokenOf(collection: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getAuction(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getFreeNftIds(collection: string, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getPrivateOffer(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getRaffle(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getRaffleTicketRecords(collection: string, nftId: BigNumberish, startIdx: BigNumberish, size: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
getSafeBox(collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
multicall(data: BytesLike[], overrides?: Overrides & {
from?: string;
}): Promise<PopulatedTransaction>;
supportedToken(token: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
tokenBalance(user: string, token: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
userAccount(user: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
userCollection(user: string, collection: string, nftId: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
};
}