aftermath-ts-sdk
Version:
Aftermath TypeScript SDK
148 lines • 4.1 kB
TypeScript
import { AnyObjectType, Balance, Event, Object, Timestamp, Url, ObjectId, SuiAddress } from "../../general/types/generalTypes";
export type SuiFrenAccessoryType = string;
export type SuiFrenAccessoryName = string;
export interface CapyLabsAppObject extends Object {
mixingLimit: bigint;
coolDownPeriodEpochs: bigint;
mixingPrice: Balance;
suiProfits: Balance;
}
export interface SuiFrenObject extends Object {
generation: bigint;
birthdate: Timestamp;
cohort: bigint;
genes: bigint[];
attributes: SuiFrenAttributes;
birthLocation: string;
mixLimit?: bigint;
lastEpochMixed?: bigint;
display: {
link: Url;
imageUrl: Url;
description: string;
projectUrl: Url;
};
}
export type PartialSuiFrenObject = Omit<SuiFrenObject, "mixLimit" | "lastEpochMixed">;
export type SuiFrenAttributes = {
skin: "stripes" | "cheetah";
main: "6FBBEE";
secondary: "CF9696";
expression: "bigSmile";
ears: "ear1";
};
export declare enum SuiFrensSortOption {
PriceLowToHigh = "Price (low to high)",
PriceHighToLow = "Price (high to low)"
}
export interface StakedSuiFrenInfo {
suiFren: SuiFrenObject;
metadata: StakedSuiFrenMetadataV1Object;
position?: StakedSuiFrenPositionObject;
}
export interface StakedSuiFrenPositionObject extends Object {
suiFrenId: ObjectId;
}
export interface StakedSuiFrenMetadataV1Object extends Object {
suiFrenId: ObjectId;
collectedFees: Balance;
autoStakeFees: boolean;
mixFee: Balance;
feeIncrementPerMix: Balance;
minRemainingMixesToKeep: bigint;
}
export interface SuiFrenVaultStateV1Object extends Object {
stakedSuiFrens: bigint;
totalMixes: bigint;
}
export interface SuiFrenAccessoryObject extends Object {
name: SuiFrenAccessoryName;
type: SuiFrenAccessoryType;
imageUrl: Url;
}
export interface HarvestSuiFrenFeesEvent extends Event {
harvester: SuiAddress;
fees: bigint;
}
export interface StakeSuiFrenEvent extends Event {
staker: SuiAddress;
suiFrenId: ObjectId;
}
export interface UnstakeSuiFrenEvent extends Event {
unstaker: SuiAddress;
suiFrenId: ObjectId;
fees: Balance;
}
export interface MixSuiFrensEvent extends Event {
mixer: SuiAddress;
parentOneId: ObjectId;
parentTwoId: ObjectId;
childId: ObjectId;
fee: Balance;
}
export interface SuiFrenStats {
totalMixes: bigint;
currentTotalStaked: bigint;
mixingFees24hr: Balance;
mixingVolume24hr: number;
}
export interface ApiStakeSuiFrenBody {
suiFrenId: ObjectId;
baseFee: Balance;
feeIncrementPerMix: Balance;
minRemainingMixesToKeep: bigint;
suiFrenType: AnyObjectType;
walletAddress: SuiAddress;
}
export interface ApiUnstakeSuiFrenBody {
stakedPositionId: ObjectId;
suiFrenType: AnyObjectType;
walletAddress: SuiAddress;
}
export interface ApiMixSuiFrensBody {
suiFrenParentOne: {
objectId: ObjectId;
mixFee: Balance | undefined;
};
suiFrenParentTwo: {
objectId: ObjectId;
mixFee: Balance | undefined;
};
baseFee: Balance;
suiFrenType: AnyObjectType;
walletAddress: SuiAddress;
isSponsoredTx?: boolean;
}
export interface ApiHarvestSuiFrenFeesBody {
stakedPositionIds: ObjectId[];
walletAddress: SuiAddress;
}
export interface ApiAddSuiFrenAccessoryBody {
suiFrenId: ObjectId;
accessoryId: ObjectId;
isOwned: boolean;
suiFrenType: AnyObjectType;
walletAddress: SuiAddress;
}
export type ApiRemoveSuiFrenAccessoryBody = {
accessoryType: SuiFrenAccessoryType;
suiFrenType: AnyObjectType;
walletAddress: SuiAddress;
} & ({
suiFrenId: ObjectId;
} | {
stakedPositionId: ObjectId;
});
export interface ApiAccessoriesForSuiFrenBody {
suiFrenId: ObjectId;
}
export interface ApiOwnedSuiFrenAccessoriesBody {
walletAddress: SuiAddress;
}
export interface ApiOwnedSuiFrensBody {
walletAddress: SuiAddress;
}
export interface ApiOwnedStakedSuiFrensBody {
walletAddress: SuiAddress;
}
//# sourceMappingURL=suiFrensTypes.d.ts.map