-
Notifications
You must be signed in to change notification settings - Fork 0
/
schema.graphql
242 lines (168 loc) · 3.75 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
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
# BaoMasterFarmer
type BaoMasterFarmer @entity {
# Contract address
id: ID!
# Reward multiplier
REWARD_MULTIPLIER: BigInt!
# Finish bonus at block
FINISH_BONUS_AT_BLOCK: BigInt!
# Dev fund address
devaddr: Bytes!
# Migrator
migrator: Bytes!
# Owner
owner: Bytes!
# Start block
START_BLOCK: BigInt!
# Bao
bao: Bytes!
# Reward per block
REWARD_PER_BLOCK: BigInt!
# Total allocation point
totalAllocPoint: BigInt!
# Pools
pools: [Pool!]! @derivedFrom(field: "owner")
# Pool count
poolCount: BigInt!
# SLP Balance
slpBalance: BigDecimal!
# SLP Age
slpAge: BigDecimal!
# SLP Removed
slpAgeRemoved: BigDecimal!
# SLP Deposited
slpDeposited: BigDecimal!
# SLP Withdrawn
slpWithdrawn: BigDecimal!
# History
history: [History!]! @derivedFrom(field: "owner")
# Upated at
updatedAt: BigInt!
}
type History @entity {
# Master chef id concatenated with timestamp
id: ID!
# Owner (BaoMasterFarmer, Pool, or User).
owner: BaoMasterFarmer!
# SLP Balance
slpBalance: BigDecimal!
# SLP Age
slpAge: BigDecimal!
# SLP Removed
slpAgeRemoved: BigDecimal!
# SLP Deposited
slpDeposited: BigDecimal!
# SLP Withdrawn
slpWithdrawn: BigDecimal!
# Timestamp
timestamp: BigInt!
# Block
block: BigInt!
}
# Pool
type Pool @entity {
# Index of pool in poolInfo on BaoMasterFarmer contract
id: ID!
# Owner
owner: BaoMasterFarmer!
# Pair Liquidity Token Address
pair: Bytes!
# Allocation point
allocPoint: BigInt!
# Last reward block
lastRewardBlock: BigInt!
# Accumulated bao per share
accBaoPerShare: BigInt!
# SLP token balance
balance: BigInt!
# Pool users
users: [User!]! @derivedFrom(field: "pool")
# User count
userCount: BigInt!
# SLP Balance
slpBalance: BigDecimal!
# SLP Age
slpAge: BigDecimal!
# SLP Removed
slpAgeRemoved: BigDecimal!
# SLP Deposited
slpDeposited: BigDecimal!
# SLP Withdrawn
slpWithdrawn: BigDecimal!
# Timestamp
timestamp: BigInt!
# Block
block: BigInt!
# Upated at
updatedAt: BigInt!
# Entry USD
entryUSD: BigDecimal!
# Exit USD
exitUSD: BigDecimal!
# Bao harvested
baoHarvested: BigDecimal!
# Bao harvested
baoHarvestedUSD: BigDecimal!
}
type PoolHistory @entity {
# Pool id concatenated with timestamp
id: ID!
# Pool
pool: Pool!
# SLP Balance
slpBalance: BigDecimal!
# SLP Age
slpAge: BigDecimal!
# SLP Removed
slpAgeRemoved: BigDecimal!
# SLP Deposited
slpDeposited: BigDecimal!
# SLP Withdrawn
slpWithdrawn: BigDecimal!
# User Count
userCount: BigInt!
# Timestamp
timestamp: BigInt!
# Block
block: BigInt!
# Entry USD
entryUSD: BigDecimal!
# Exit USD
exitUSD: BigDecimal!
# Bao harvested
baoHarvested: BigDecimal!
# Bao harvested
baoHarvestedUSD: BigDecimal!
}
type User @entity {
# Pool id concatenated with user address
id: ID!
# User address
address: Bytes!
# Related pool
pool: Pool
# We do some fancy math here. Basically, any point in time, the amount of SUSHIs
# entitled to a user but is pending to be distributed is:
# pending reward = (user.amount * pool.accBaoPerShare) - user.rewardDebt
# Whenever a user deposits or withdraws LP tokens to a pool. Here's what happens:
# 1. The pool's `accBaoPerShare` (and `lastRewardBlock`) gets updated.
# 2. User receives the pending reward sent to his/her address.
# 3. User's `amount` gets updated.
# 4. User's `rewardDebt` gets updated.
# Amount
amount: BigInt!
# Reward debt
rewardDebt: BigInt!
# Entry USD
entryUSD: BigDecimal!
# Exit USD
exitUSD: BigDecimal!
# Bao harvested
baoHarvested: BigDecimal!
# Bao harvested
baoHarvestedUSD: BigDecimal!
# Timestamp
timestamp: BigInt!
# Block
block: BigInt!
}