forked from aavegotchi/aavegotchi-contracts
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtypes.ts
126 lines (112 loc) · 2.5 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
export interface GotchisOwned {
id: string;
status: string;
}
export interface UserGotchisOwned {
id: string;
gotchisOwned: GotchisOwned[];
}
export interface RarityFarmingRewardArgs {
rarity: string[];
kinship: string[];
xp: string[];
rookieXp: string[];
rookieKinship: string[];
}
export interface RarityFarmingData {
rarityGotchis: string[];
kinshipGotchis: string[];
xpGotchis: string[];
rookieXpGotchis: string[];
rookieKinshipGotchis: string[];
}
export interface rarityRewards {
[id: string]: number;
}
export interface ERC721Category {
erc721TokenAddress: string;
category: number;
}
export type LeaderboardType = "withSetsRarityScore" | "kinship" | "experience";
export type LeaderboardDataName =
| "rarityGotchis"
| "kinshipGotchis"
| "xpGotchis"
| "rookieXpGotchis"
| "rookieKinshipGotchis";
export interface LeaderboardAavegotchi {
id: string;
position?: number;
name: string;
baseRarityScore: string;
modifiedRarityScore: string;
withSetsRarityScore: string;
numericTraits: number[];
lastInteracted: string;
modifiedNumericTraits: number[];
withSetsNumericTraits: number[];
equippedSetID: string;
equippedSetName: string;
equippedWearables: number[];
stakedAmount: string;
kinship: string;
level: string;
collateral: string;
hauntId: string;
owner: Owner;
experience: string;
}
interface Owner {
id: string;
}
export interface LeaderboardSortingOption {
type: "highestBRS" | "kinshipHigh" | "xphigh";
name: string;
rules: {
orderBy: LeaderboardType;
orderDirection: "desc" | "asc";
};
}
const leaderboardSortingOptions: Array<LeaderboardSortingOption> = [
{
type: "highestBRS",
name: "Highest BRS",
rules: {
orderBy: "withSetsRarityScore",
orderDirection: "desc",
},
},
{
type: "kinshipHigh",
name: "Highest Kinship",
rules: {
orderBy: "kinship",
orderDirection: "desc",
},
},
{
type: "xphigh",
name: "Highest XP",
rules: {
orderBy: "experience",
orderDirection: "desc",
},
},
];
export interface FoundSet {
name: string;
wearableIds: Array<number>;
traitsBonuses: Array<number>;
allowedCollaterals: Array<number>;
}
type FilterType = "all" | "only mine" | "only haunt 2";
const filterOptions: FilterType[] = ["all", "only mine", "only haunt 2"];
export interface MinigameResult {
tokenId: string;
score: number;
name: string;
}
export interface MinigameGroup {
aavegotchis: MinigameResult[];
xpAmount: number;
}