-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathschema.graphql
135 lines (94 loc) · 2.48 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
type Market @entity {
" Unique ID for the market "
id: ID!
" Token associated to this market "
token: Token!
" Current market state "
state: MarketState
}
type Token @entity {
" Unique ID for the token "
id: ID!
" Token address "
address: Bytes!
" Number of decimals of the token "
decimals: Int!
" Human-readable name of the token "
name: String!
" Symbol of the token "
symbol: String!
" Associated market "
market: Market!
" Current price "
price: TokenPrice
}
enum PositionStatus {
Open
Closed
}
type OpenPosition @entity {
id: ID!
" Position owner's address "
accountOwner: Bytes!
" Current position amount "
amount: BigInt!
" Market maker reference "
makerMarket: Market
" Market taker reference "
takerMarket: Market
" String representation of position market "
market: String
" Price the position opened at "
openPrice: BigDecimal!
" Maker trade fees "
makerFee: BigDecimal!
" Taker trade fees "
takerFee: BigDecimal!
" Position status - open or closed "
status: PositionStatus!
" Timestamp when the position was opened "
created: BigInt!
}
type Swap @entity {
id: ID!
" User address who initiates swap "
caller: Bytes!
" Token being swapped contract address "
tokenIn: Bytes!
" Token being swapped symbol "
tokenInSymbol: String!
" Token being swapped to contract address "
tokenOut: Bytes!
" Token being swapped to symbol "
tokenOutSymbol: String!
" Total amount of tokens being swapped "
tokenAmountIn: BigDecimal!
" Total amount of tokens being swapped to "
tokenAmountOut: BigDecimal!
" Timestamp of swap "
timestamp: Int!
}
type HODLprogram @entity {
" Program ID "
id: ID!
" Token address of sold token "
address: Bytes!
" Symbol of token being sold "
addressSymbol: Bytes!
" Price of bought token in ETH "
ethPrice: BigDecimal!
" Fixed exchanged rate of 1 ETH in USD "
exchangeRate: BigDecimal!
" Hard cap in tokens "
tokenHardCap: BigDecimal!
" Hard cap in tokens "
tokenHardCap: BigDecimal!
" Already raised amount in tokens "
tokenAlreadyRaised: BigDecimal!
" Already raised amount in ETH "
amountRaised: BigDecimal!
" Basic exchange rate of 1 ETH in tokens "
basicExchangeRate: BigDecimal!
" Timestamp of token reception "
receptionTimestamp: BigInt
}