/
schema-ogv.graphql
118 lines (106 loc) · 1.95 KB
/
schema-ogv.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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
type OGV @entity {
id: ID!
timestamp: DateTime! @index
blockNumber: Int! @index
circulating: BigInt!
staked: BigInt!
total: BigInt!
}
type OGVAddress @entity {
id: ID! @index
balance: BigInt!
staked: BigInt!
veogvBalance: BigInt!
votingPower: BigInt!
delegatee: OGVAddress
lastUpdated: DateTime!
}
enum OGVLockupEventType {
Staked
Unstaked
Extended
}
type OGVLockupTxLog @entity {
id: ID!
hash: String!
event: OGVLockupEventType!
timestamp: DateTime!
blockNumber: Int!
totalSupply: BigInt!
ogvLockup: OGVLockup!
}
type OGVLockup @entity {
id: ID!
lockupId: String! @index
address: OGVAddress! @index
logs: [OGVLockupTxLog]! @derivedFrom(field: "ogvLockup")
amount: BigInt!
end: DateTime!
veogv: BigInt! # Amount of veOGV received
timestamp: DateTime!
# active: Boolean
}
enum OGVProposalState {
Pending
Active
Canceled
Defeated
Succeeded
Queued
Expired
Executed
}
enum OGVProposalEvent {
Created
Queued
Canceled
Extended
Executed
}
enum OGVVoteType {
Against
For
Abstain
}
type OGVProposalTxLog @entity {
id: ID!
hash: String!
event: OGVProposalEvent!
timestamp: DateTime!
proposal: OGVProposal! @index
}
type OGVProposal @entity {
id: ID! @index
description: String
proposer: OGVAddress!
timestamp: DateTime!
startBlock: BigInt!
endBlock: BigInt!
lastUpdated: DateTime!
status: OGVProposalState!
logs: [OGVProposalTxLog]! @derivedFrom(field: "proposal")
quorum: BigInt!
choices: [String]!
scores: [Float]!
}
type OGVProposalVote @entity {
id: ID!
proposal: OGVProposal! @index
voter: OGVAddress! @index
weight: BigInt!
type: OGVVoteType!
txHash: String!
timestamp: DateTime!
}
type OGVDailyStat @entity {
id: ID!
blockNumber: Int! @index
timestamp: DateTime! @index
totalSupply: BigInt!
totalSupplyUSD: Float!
totalStaked: BigInt!
tradingVolumeUSD: Float!
marketCapUSD: Float!
priceUSD: Float!
holdersOverThreshold: Int!
}