-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.graphql
100 lines (96 loc) · 2.49 KB
/
schema.graphql
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
"""
Color of NFT from least rare to rarest
"""
enum Color {
WHITE #tier/class - 1
YELLOW #tier/class - 2
BLUE #tier/class - 3
RED #tier/class - 4
BLACK #tier/class - 4
}
"""
Tier of NFT from least rare to rarest that corresponds to Color.
"""
enum Tier {
ONE
TWO
THREE
FOUR
}
"""
An account of users holding an NFT within 'merge.' collection.
"""
type User @entity {
"Unique address of a merge NFT owner"
id: ID!
"Details about NFTs being held by this User"
mergeNFTs: [NFT!] @derivedFrom(field: "owner")
"Whether this User can carry more than one merge NFT"
whitelist: Boolean! #These are central marketplaces typically like Nifty Gateway
}
"""
Individual NFTs within this collection.
"""
type NFT @entity {
"Unique tokenID"
id: ID!
"Current owner unless merged where it would be address(0)"
owner: User!
"NFT-Specific value representing tier and mass"
value: BigInt!
"Size of mass for a specific NFT"
mass: BigInt!
"Color of mass NFT; BLACK is Alpha"
color: Color!
"Rarity for mass NFTs; higher numbers are highest rarity"
tier: Tier!
"Amount of times this tokenID has absorbed other NFTs"
mergeCount: Int!
"Whether the NFT is alpha or not"
isAlpha: Boolean
"All owners of this nft - past and present"
allOwners: [User!]!
"What tokenId this NFT was merged into"
mergedInto: NFT
"unix timestamps when merge txs occurred"
mergeTimes: [Int!]!
"Absorbed NFTs"
absorbedNFTs: [NFT!]!
}
"""
The NFT collection, merge., and inherent global details on it.
"""
type Collection @entity {
"NFT external contract address"
id: ID!
"Name of NFT collection"
name: String!
"Total Mass in beginning"
originalMass: Int!
"ERC token standard used in this collection"
tokenStandard: String!
"TokenID of alpha mass"
alphaTokenId: String!
"Initial total minted individual mergeNFTs"
initialNFTTotal: Int!
"Current amount of individual mergeNFTs existing"
currentNFTs: Int!
"Number of Merges that have occurred"
totalMerges: Int!
"Number of archaic non-merge burns"
totalBurns: Int!
"Total mass in the collection"
totalMass: Int!
"Total tier-1 (least rare tier) WHITE NFTs"
tier1Totals: Int!
"Total tier-2 (4th rare tier) YELLOW NFTs"
tier2Totals: Int!
"Total tier-3 (3rd rare tier) BLUE NFTs"
tier3Totals: Int!
"Total tier-4 (2nd rare tier) RED NFTs"
tier4Totals: Int!
"Number of current unique addresses holding these NFTs"
totalUniqueOwnerAddresses: Int!
"Number of times burn() public function called"
burnCallTotal: Int
}