-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathschema.graphql
41 lines (37 loc) · 940 Bytes
/
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
type User @entity {
"ID attribute is user public key"
id: ID!
totalTokens: BigInt!
totalStakedTokens: BigInt!
votingPower: BigInt!
proposingPower: BigInt!
tokenVotingPower: BigInt!
tokenProposingPower: BigInt!
stakedTokenVotingPower: BigInt!
stakedTokenProposingPower: BigInt!
}
type Proposal @entity {
"ID attribute is proposal ID"
id: ID!
}
type ProposalVote @entity {
"ID attribute is a function of user ID and proposal ID, e.g. {user.id}-{proposal.id}"
id: ID!
proposal: Proposal!
user: User!
support: Boolean!
votingPower: BigInt!
}
type RewardsClaimed @entity {
"ID attribute is a function of user ID and rewards claim number at the time of claiming, e.g. {user.id}-{incentivesModule}-{claimTimestamp}"
id: ID!
user: User!
incentivesModule: IncentivesModule!
claimTimestamp: BigInt!
rewards: BigInt!
}
enum IncentivesModule {
MerkleDistributor
SafetyModule
LiquidityStaking
}