@drift-labs/sdk 0.2.0-master.4 → 0.2.0-master.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/README.md +27 -27
  2. package/lib/accounts/bulkAccountLoader.d.ts +2 -0
  3. package/lib/accounts/bulkAccountLoader.js +36 -29
  4. package/lib/accounts/bulkUserStatsSubscription.d.ts +7 -0
  5. package/lib/accounts/bulkUserStatsSubscription.js +21 -0
  6. package/lib/accounts/bulkUserSubscription.d.ts +2 -2
  7. package/lib/accounts/bulkUserSubscription.js +0 -1
  8. package/lib/accounts/fetch.d.ts +2 -1
  9. package/lib/accounts/fetch.js +9 -1
  10. package/lib/accounts/{pollingClearingHouseAccountSubscriber.d.ts → pollingDriftClientAccountSubscriber.d.ts} +20 -25
  11. package/lib/accounts/{pollingClearingHouseAccountSubscriber.js → pollingDriftClientAccountSubscriber.js} +45 -49
  12. package/lib/accounts/{pollingOracleSubscriber.d.ts → pollingOracleAccountSubscriber.d.ts} +2 -2
  13. package/lib/accounts/{pollingOracleSubscriber.js → pollingOracleAccountSubscriber.js} +3 -3
  14. package/lib/accounts/pollingUserAccountSubscriber.d.ts +1 -1
  15. package/lib/accounts/pollingUserAccountSubscriber.js +5 -11
  16. package/lib/accounts/pollingUserStatsAccountSubscriber.d.ts +27 -0
  17. package/lib/accounts/pollingUserStatsAccountSubscriber.js +107 -0
  18. package/lib/accounts/types.d.ts +26 -15
  19. package/lib/accounts/webSocketDriftClientAccountSubscriber.d.ts +49 -0
  20. package/lib/accounts/{webSocketClearingHouseAccountSubscriber.js → webSocketDriftClientAccountSubscriber.js} +47 -45
  21. package/lib/accounts/webSocketUserStatsAccountSubsriber.d.ts +20 -0
  22. package/lib/accounts/webSocketUserStatsAccountSubsriber.js +47 -0
  23. package/lib/addresses/marketAddresses.d.ts +1 -3
  24. package/lib/addresses/marketAddresses.js +1 -1
  25. package/lib/addresses/pda.d.ts +15 -9
  26. package/lib/addresses/pda.js +73 -35
  27. package/lib/adminClient.d.ts +65 -0
  28. package/lib/adminClient.js +637 -0
  29. package/lib/config.d.ts +9 -9
  30. package/lib/config.js +25 -21
  31. package/lib/constants/numericConstants.d.ts +30 -12
  32. package/lib/constants/numericConstants.js +41 -21
  33. package/lib/constants/perpMarkets.d.ts +18 -0
  34. package/lib/constants/{markets.js → perpMarkets.js} +7 -7
  35. package/lib/constants/spotMarkets.d.ts +19 -0
  36. package/lib/constants/spotMarkets.js +53 -0
  37. package/lib/dlob/DLOB.d.ts +82 -0
  38. package/lib/dlob/DLOB.js +694 -0
  39. package/lib/dlob/DLOBNode.d.ts +54 -0
  40. package/lib/dlob/DLOBNode.js +77 -0
  41. package/lib/dlob/NodeList.d.ts +27 -0
  42. package/lib/dlob/NodeList.js +144 -0
  43. package/lib/driftClient.d.ts +234 -0
  44. package/lib/driftClient.js +2108 -0
  45. package/lib/{clearingHouseConfig.d.ts → driftClientConfig.d.ts} +9 -9
  46. package/lib/{clearingHouseConfig.js → driftClientConfig.js} +0 -0
  47. package/lib/events/eventList.js +3 -0
  48. package/lib/events/eventSubscriber.d.ts +5 -2
  49. package/lib/events/eventSubscriber.js +25 -11
  50. package/lib/events/fetchLogs.d.ts +13 -2
  51. package/lib/events/fetchLogs.js +40 -12
  52. package/lib/events/pollingLogProvider.d.ts +2 -1
  53. package/lib/events/pollingLogProvider.js +7 -3
  54. package/lib/events/sort.js +8 -11
  55. package/lib/events/types.d.ts +11 -3
  56. package/lib/events/types.js +8 -0
  57. package/lib/events/webSocketLogProvider.js +1 -1
  58. package/lib/examples/makeTradeExample.js +30 -18
  59. package/lib/factory/bigNum.d.ts +8 -4
  60. package/lib/factory/bigNum.js +109 -19
  61. package/lib/idl/drift.json +8386 -0
  62. package/lib/idl/{mock_usdc_faucet.json → token_faucet.json} +46 -23
  63. package/lib/index.d.ts +30 -13
  64. package/lib/index.js +30 -13
  65. package/lib/math/amm.d.ts +9 -6
  66. package/lib/math/amm.js +91 -38
  67. package/lib/math/conversion.js +1 -1
  68. package/lib/math/exchangeStatus.d.ts +4 -0
  69. package/lib/math/exchangeStatus.js +18 -0
  70. package/lib/math/funding.d.ts +6 -6
  71. package/lib/math/funding.js +23 -21
  72. package/lib/math/insurance.d.ts +4 -0
  73. package/lib/math/insurance.js +27 -0
  74. package/lib/math/margin.d.ts +11 -0
  75. package/lib/math/margin.js +82 -0
  76. package/lib/math/market.d.ts +14 -9
  77. package/lib/math/market.js +70 -10
  78. package/lib/math/oracles.d.ts +4 -0
  79. package/lib/math/oracles.js +36 -8
  80. package/lib/math/orders.d.ts +16 -6
  81. package/lib/math/orders.js +97 -17
  82. package/lib/math/position.d.ts +27 -13
  83. package/lib/math/position.js +92 -36
  84. package/lib/math/repeg.js +17 -8
  85. package/lib/math/spotBalance.d.ts +22 -0
  86. package/lib/math/spotBalance.js +192 -0
  87. package/lib/math/spotMarket.d.ts +4 -0
  88. package/lib/math/spotMarket.js +8 -0
  89. package/lib/math/spotPosition.d.ts +6 -0
  90. package/lib/math/spotPosition.js +23 -0
  91. package/lib/math/trade.d.ts +10 -10
  92. package/lib/math/trade.js +27 -31
  93. package/lib/oracles/pythClient.js +1 -1
  94. package/lib/oracles/quoteAssetOracleClient.js +1 -1
  95. package/lib/oracles/switchboardClient.js +1 -1
  96. package/lib/orderParams.d.ts +4 -4
  97. package/lib/orderParams.js +12 -4
  98. package/lib/serum/serumFulfillmentConfigMap.d.ts +10 -0
  99. package/lib/serum/serumFulfillmentConfigMap.js +17 -0
  100. package/lib/serum/serumSubscriber.d.ts +27 -0
  101. package/lib/serum/serumSubscriber.js +56 -0
  102. package/lib/serum/types.d.ts +11 -0
  103. package/lib/{clearingHouseUserConfig.js → serum/types.js} +0 -0
  104. package/lib/slot/SlotSubscriber.d.ts +7 -0
  105. package/lib/slot/SlotSubscriber.js +3 -0
  106. package/lib/{mockUSDCFaucet.d.ts → tokenFaucet.d.ts} +8 -5
  107. package/lib/{mockUSDCFaucet.js → tokenFaucet.js} +63 -51
  108. package/lib/tx/retryTxSender.d.ts +1 -1
  109. package/lib/tx/retryTxSender.js +13 -4
  110. package/lib/tx/types.d.ts +1 -1
  111. package/lib/tx/utils.js +1 -1
  112. package/lib/types.d.ts +688 -216
  113. package/lib/types.js +153 -24
  114. package/lib/user.d.ts +228 -0
  115. package/lib/user.js +959 -0
  116. package/lib/userConfig.d.ts +14 -0
  117. package/lib/userConfig.js +2 -0
  118. package/lib/userMap/userMap.d.ts +41 -0
  119. package/lib/userMap/userMap.js +85 -0
  120. package/lib/userMap/userStatsMap.d.ts +19 -0
  121. package/lib/userMap/userStatsMap.js +68 -0
  122. package/lib/userName.d.ts +1 -0
  123. package/lib/userName.js +3 -2
  124. package/lib/userStats.d.ts +18 -0
  125. package/lib/userStats.js +49 -0
  126. package/lib/userStatsConfig.d.ts +14 -0
  127. package/lib/userStatsConfig.js +2 -0
  128. package/lib/util/computeUnits.js +1 -1
  129. package/lib/util/getTokenAddress.d.ts +2 -0
  130. package/lib/util/getTokenAddress.js +9 -0
  131. package/package.json +11 -4
  132. package/src/accounts/bulkAccountLoader.ts +44 -34
  133. package/src/accounts/bulkUserStatsSubscription.ts +33 -0
  134. package/src/accounts/bulkUserSubscription.ts +2 -3
  135. package/src/accounts/fetch.ts +27 -2
  136. package/src/accounts/{pollingClearingHouseAccountSubscriber.ts → pollingDriftClientAccountSubscriber.ts} +65 -75
  137. package/src/accounts/{pollingOracleSubscriber.ts → pollingOracleAccountSubscriber.ts} +2 -2
  138. package/src/accounts/pollingUserAccountSubscriber.ts +5 -12
  139. package/src/accounts/pollingUserStatsAccountSubscriber.ts +166 -0
  140. package/src/accounts/types.ts +35 -15
  141. package/src/accounts/{webSocketClearingHouseAccountSubscriber.ts → webSocketDriftClientAccountSubscriber.ts} +78 -73
  142. package/src/accounts/webSocketUserStatsAccountSubsriber.ts +80 -0
  143. package/src/addresses/marketAddresses.ts +3 -4
  144. package/src/addresses/pda.ts +105 -33
  145. package/src/adminClient.ts +1207 -0
  146. package/src/assert/assert.js +9 -0
  147. package/src/config.ts +37 -31
  148. package/src/constants/numericConstants.ts +58 -24
  149. package/src/constants/{markets.ts → perpMarkets.ts} +10 -10
  150. package/src/constants/spotMarkets.ts +73 -0
  151. package/src/dlob/DLOB.ts +1120 -0
  152. package/src/dlob/DLOBNode.ts +155 -0
  153. package/src/dlob/NodeList.ts +195 -0
  154. package/src/driftClient.ts +3594 -0
  155. package/src/{clearingHouseConfig.ts → driftClientConfig.ts} +9 -8
  156. package/src/events/eventList.js +77 -0
  157. package/src/events/eventList.ts +3 -0
  158. package/src/events/eventSubscriber.ts +36 -14
  159. package/src/events/fetchLogs.ts +55 -13
  160. package/src/events/pollingLogProvider.ts +11 -3
  161. package/src/events/sort.ts +11 -15
  162. package/src/events/types.ts +27 -2
  163. package/src/events/webSocketLogProvider.ts +1 -1
  164. package/src/examples/makeTradeExample.js +157 -0
  165. package/src/examples/makeTradeExample.ts +44 -28
  166. package/src/factory/bigNum.ts +150 -22
  167. package/src/idl/drift.json +8386 -0
  168. package/src/idl/pyth.json +98 -2
  169. package/src/idl/{mock_usdc_faucet.json → token_faucet.json} +46 -23
  170. package/src/index.ts +30 -13
  171. package/src/math/amm.ts +161 -48
  172. package/src/math/conversion.ts +2 -2
  173. package/src/math/exchangeStatus.ts +31 -0
  174. package/src/math/funding.ts +41 -31
  175. package/src/math/insurance.ts +35 -0
  176. package/src/math/margin.ts +133 -0
  177. package/src/math/market.ts +143 -14
  178. package/src/math/oracles.ts +63 -9
  179. package/src/math/orders.ts +168 -26
  180. package/src/math/position.ts +136 -58
  181. package/src/math/repeg.ts +19 -9
  182. package/src/math/spotBalance.ts +319 -0
  183. package/src/math/spotMarket.ts +9 -0
  184. package/src/math/spotPosition.ts +47 -0
  185. package/src/math/trade.ts +33 -37
  186. package/src/oracles/pythClient.ts +2 -2
  187. package/src/oracles/quoteAssetOracleClient.ts +2 -2
  188. package/src/oracles/switchboardClient.ts +2 -2
  189. package/src/orderParams.ts +16 -8
  190. package/src/serum/serumFulfillmentConfigMap.ts +26 -0
  191. package/src/serum/serumSubscriber.ts +99 -0
  192. package/src/serum/types.ts +13 -0
  193. package/src/slot/SlotSubscriber.ts +11 -1
  194. package/src/token/index.js +38 -0
  195. package/src/{mockUSDCFaucet.ts → tokenFaucet.ts} +82 -70
  196. package/src/tx/retryTxSender.ts +16 -5
  197. package/src/tx/types.js +2 -0
  198. package/src/tx/types.ts +2 -1
  199. package/src/tx/utils.js +17 -0
  200. package/src/tx/utils.ts +1 -1
  201. package/src/types.ts +650 -189
  202. package/src/user.ts +1599 -0
  203. package/src/{clearingHouseUserConfig.ts → userConfig.ts} +5 -5
  204. package/src/userMap/userMap.ts +124 -0
  205. package/src/userMap/userStatsMap.ts +108 -0
  206. package/src/userName.ts +2 -1
  207. package/src/userStats.ts +75 -0
  208. package/src/userStatsConfig.ts +18 -0
  209. package/src/util/computeUnits.js +21 -11
  210. package/src/util/computeUnits.ts +1 -1
  211. package/src/util/getTokenAddress.js +9 -0
  212. package/src/util/getTokenAddress.ts +18 -0
  213. package/src/util/promiseTimeout.js +14 -0
  214. package/src/util/tps.js +27 -0
  215. package/tests/bn/test.ts +46 -11
  216. package/tests/dlob/helpers.ts +620 -0
  217. package/tests/dlob/test.ts +4586 -0
  218. package/yarn-error.log +3160 -0
  219. package/lib/accounts/webSocketClearingHouseAccountSubscriber.d.ts +0 -49
  220. package/lib/admin.d.ts +0 -44
  221. package/lib/admin.js +0 -433
  222. package/lib/clearingHouse.d.ts +0 -133
  223. package/lib/clearingHouse.js +0 -931
  224. package/lib/clearingHouseUser.d.ts +0 -187
  225. package/lib/clearingHouseUser.js +0 -643
  226. package/lib/clearingHouseUserConfig.d.ts +0 -14
  227. package/lib/constants/banks.d.ts +0 -16
  228. package/lib/constants/banks.js +0 -34
  229. package/lib/constants/markets.d.ts +0 -19
  230. package/lib/idl/clearing_house.json +0 -3998
  231. package/lib/math/bankBalance.d.ts +0 -9
  232. package/lib/math/bankBalance.js +0 -75
  233. package/lib/math/state.d.ts +0 -8
  234. package/lib/math/state.js +0 -15
  235. package/lib/orders.d.ts +0 -8
  236. package/lib/orders.js +0 -134
  237. package/src/admin.ts +0 -722
  238. package/src/clearingHouse.ts +0 -1451
  239. package/src/clearingHouseUser.ts +0 -989
  240. package/src/constants/banks.ts +0 -43
  241. package/src/idl/clearing_house.json +0 -3998
  242. package/src/math/bankBalance.ts +0 -112
  243. package/src/math/state.ts +0 -14
  244. package/src/math/utils.js +0 -27
  245. package/src/math/utils.js.map +0 -1
  246. package/src/orders.ts +0 -244
  247. package/src/util/computeUnits.js.map +0 -1
@@ -1,3998 +0,0 @@
1
- {
2
- "version": "1.0.0",
3
- "name": "clearing_house",
4
- "instructions": [
5
- {
6
- "name": "initialize",
7
- "accounts": [
8
- {
9
- "name": "admin",
10
- "isMut": true,
11
- "isSigner": true
12
- },
13
- {
14
- "name": "state",
15
- "isMut": true,
16
- "isSigner": false
17
- },
18
- {
19
- "name": "quoteAssetMint",
20
- "isMut": false,
21
- "isSigner": false
22
- },
23
- {
24
- "name": "insuranceVault",
25
- "isMut": true,
26
- "isSigner": false
27
- },
28
- {
29
- "name": "insuranceVaultAuthority",
30
- "isMut": false,
31
- "isSigner": false
32
- },
33
- {
34
- "name": "rent",
35
- "isMut": false,
36
- "isSigner": false
37
- },
38
- {
39
- "name": "systemProgram",
40
- "isMut": false,
41
- "isSigner": false
42
- },
43
- {
44
- "name": "tokenProgram",
45
- "isMut": false,
46
- "isSigner": false
47
- }
48
- ],
49
- "args": [
50
- {
51
- "name": "adminControlsPrices",
52
- "type": "bool"
53
- }
54
- ]
55
- },
56
- {
57
- "name": "initializeBank",
58
- "accounts": [
59
- {
60
- "name": "bank",
61
- "isMut": true,
62
- "isSigner": false
63
- },
64
- {
65
- "name": "bankMint",
66
- "isMut": false,
67
- "isSigner": false
68
- },
69
- {
70
- "name": "bankVault",
71
- "isMut": true,
72
- "isSigner": false
73
- },
74
- {
75
- "name": "bankVaultAuthority",
76
- "isMut": false,
77
- "isSigner": false
78
- },
79
- {
80
- "name": "state",
81
- "isMut": true,
82
- "isSigner": false
83
- },
84
- {
85
- "name": "oracle",
86
- "isMut": false,
87
- "isSigner": false
88
- },
89
- {
90
- "name": "admin",
91
- "isMut": true,
92
- "isSigner": true
93
- },
94
- {
95
- "name": "rent",
96
- "isMut": false,
97
- "isSigner": false
98
- },
99
- {
100
- "name": "systemProgram",
101
- "isMut": false,
102
- "isSigner": false
103
- },
104
- {
105
- "name": "tokenProgram",
106
- "isMut": false,
107
- "isSigner": false
108
- }
109
- ],
110
- "args": [
111
- {
112
- "name": "optimalUtilization",
113
- "type": "u128"
114
- },
115
- {
116
- "name": "optimalBorrowRate",
117
- "type": "u128"
118
- },
119
- {
120
- "name": "maxBorrowRate",
121
- "type": "u128"
122
- },
123
- {
124
- "name": "oracleSource",
125
- "type": {
126
- "defined": "OracleSource"
127
- }
128
- },
129
- {
130
- "name": "initialAssetWeight",
131
- "type": "u128"
132
- },
133
- {
134
- "name": "maintenanceAssetWeight",
135
- "type": "u128"
136
- },
137
- {
138
- "name": "initialLiabilityWeight",
139
- "type": "u128"
140
- },
141
- {
142
- "name": "maintenanceLiabilityWeight",
143
- "type": "u128"
144
- }
145
- ]
146
- },
147
- {
148
- "name": "initializeMarket",
149
- "accounts": [
150
- {
151
- "name": "admin",
152
- "isMut": true,
153
- "isSigner": true
154
- },
155
- {
156
- "name": "state",
157
- "isMut": true,
158
- "isSigner": false
159
- },
160
- {
161
- "name": "market",
162
- "isMut": true,
163
- "isSigner": false
164
- },
165
- {
166
- "name": "oracle",
167
- "isMut": false,
168
- "isSigner": false
169
- },
170
- {
171
- "name": "rent",
172
- "isMut": false,
173
- "isSigner": false
174
- },
175
- {
176
- "name": "systemProgram",
177
- "isMut": false,
178
- "isSigner": false
179
- }
180
- ],
181
- "args": [
182
- {
183
- "name": "ammBaseAssetReserve",
184
- "type": "u128"
185
- },
186
- {
187
- "name": "ammQuoteAssetReserve",
188
- "type": "u128"
189
- },
190
- {
191
- "name": "ammPeriodicity",
192
- "type": "i64"
193
- },
194
- {
195
- "name": "ammPegMultiplier",
196
- "type": "u128"
197
- },
198
- {
199
- "name": "oracleSource",
200
- "type": {
201
- "defined": "OracleSource"
202
- }
203
- },
204
- {
205
- "name": "marginRatioInitial",
206
- "type": "u32"
207
- },
208
- {
209
- "name": "marginRatioPartial",
210
- "type": "u32"
211
- },
212
- {
213
- "name": "marginRatioMaintenance",
214
- "type": "u32"
215
- }
216
- ]
217
- },
218
- {
219
- "name": "deposit",
220
- "accounts": [
221
- {
222
- "name": "state",
223
- "isMut": false,
224
- "isSigner": false
225
- },
226
- {
227
- "name": "user",
228
- "isMut": true,
229
- "isSigner": false
230
- },
231
- {
232
- "name": "authority",
233
- "isMut": false,
234
- "isSigner": true
235
- },
236
- {
237
- "name": "bankVault",
238
- "isMut": true,
239
- "isSigner": false
240
- },
241
- {
242
- "name": "userTokenAccount",
243
- "isMut": true,
244
- "isSigner": false
245
- },
246
- {
247
- "name": "tokenProgram",
248
- "isMut": false,
249
- "isSigner": false
250
- }
251
- ],
252
- "args": [
253
- {
254
- "name": "bankIndex",
255
- "type": "u64"
256
- },
257
- {
258
- "name": "amount",
259
- "type": "u64"
260
- },
261
- {
262
- "name": "reduceOnly",
263
- "type": "bool"
264
- }
265
- ]
266
- },
267
- {
268
- "name": "withdraw",
269
- "accounts": [
270
- {
271
- "name": "state",
272
- "isMut": false,
273
- "isSigner": false
274
- },
275
- {
276
- "name": "user",
277
- "isMut": true,
278
- "isSigner": false
279
- },
280
- {
281
- "name": "authority",
282
- "isMut": false,
283
- "isSigner": true
284
- },
285
- {
286
- "name": "bankVault",
287
- "isMut": true,
288
- "isSigner": false
289
- },
290
- {
291
- "name": "bankVaultAuthority",
292
- "isMut": true,
293
- "isSigner": false
294
- },
295
- {
296
- "name": "userTokenAccount",
297
- "isMut": true,
298
- "isSigner": false
299
- },
300
- {
301
- "name": "tokenProgram",
302
- "isMut": false,
303
- "isSigner": false
304
- }
305
- ],
306
- "args": [
307
- {
308
- "name": "bankIndex",
309
- "type": "u64"
310
- },
311
- {
312
- "name": "amount",
313
- "type": "u64"
314
- },
315
- {
316
- "name": "reduceOnly",
317
- "type": "bool"
318
- }
319
- ]
320
- },
321
- {
322
- "name": "transferDeposit",
323
- "accounts": [
324
- {
325
- "name": "fromUser",
326
- "isMut": true,
327
- "isSigner": false
328
- },
329
- {
330
- "name": "toUser",
331
- "isMut": true,
332
- "isSigner": false
333
- },
334
- {
335
- "name": "authority",
336
- "isMut": false,
337
- "isSigner": true
338
- },
339
- {
340
- "name": "state",
341
- "isMut": false,
342
- "isSigner": false
343
- }
344
- ],
345
- "args": [
346
- {
347
- "name": "bankIndex",
348
- "type": "u64"
349
- },
350
- {
351
- "name": "amount",
352
- "type": "u64"
353
- }
354
- ]
355
- },
356
- {
357
- "name": "updateBankCumulativeInterest",
358
- "accounts": [
359
- {
360
- "name": "bank",
361
- "isMut": true,
362
- "isSigner": false
363
- }
364
- ],
365
- "args": []
366
- },
367
- {
368
- "name": "placeOrder",
369
- "accounts": [
370
- {
371
- "name": "state",
372
- "isMut": false,
373
- "isSigner": false
374
- },
375
- {
376
- "name": "user",
377
- "isMut": true,
378
- "isSigner": false
379
- },
380
- {
381
- "name": "authority",
382
- "isMut": false,
383
- "isSigner": true
384
- }
385
- ],
386
- "args": [
387
- {
388
- "name": "params",
389
- "type": {
390
- "defined": "OrderParams"
391
- }
392
- }
393
- ]
394
- },
395
- {
396
- "name": "cancelOrder",
397
- "accounts": [
398
- {
399
- "name": "state",
400
- "isMut": false,
401
- "isSigner": false
402
- },
403
- {
404
- "name": "user",
405
- "isMut": true,
406
- "isSigner": false
407
- },
408
- {
409
- "name": "authority",
410
- "isMut": false,
411
- "isSigner": true
412
- }
413
- ],
414
- "args": [
415
- {
416
- "name": "orderId",
417
- "type": {
418
- "option": "u64"
419
- }
420
- }
421
- ]
422
- },
423
- {
424
- "name": "cancelOrderByUserId",
425
- "accounts": [
426
- {
427
- "name": "state",
428
- "isMut": false,
429
- "isSigner": false
430
- },
431
- {
432
- "name": "user",
433
- "isMut": true,
434
- "isSigner": false
435
- },
436
- {
437
- "name": "authority",
438
- "isMut": false,
439
- "isSigner": true
440
- }
441
- ],
442
- "args": [
443
- {
444
- "name": "userOrderId",
445
- "type": "u8"
446
- }
447
- ]
448
- },
449
- {
450
- "name": "fillOrder",
451
- "accounts": [
452
- {
453
- "name": "state",
454
- "isMut": false,
455
- "isSigner": false
456
- },
457
- {
458
- "name": "authority",
459
- "isMut": false,
460
- "isSigner": true
461
- },
462
- {
463
- "name": "filler",
464
- "isMut": true,
465
- "isSigner": false
466
- },
467
- {
468
- "name": "user",
469
- "isMut": true,
470
- "isSigner": false
471
- }
472
- ],
473
- "args": [
474
- {
475
- "name": "orderId",
476
- "type": {
477
- "option": "u64"
478
- }
479
- },
480
- {
481
- "name": "makerOrderId",
482
- "type": {
483
- "option": "u64"
484
- }
485
- }
486
- ]
487
- },
488
- {
489
- "name": "placeAndTake",
490
- "accounts": [
491
- {
492
- "name": "state",
493
- "isMut": false,
494
- "isSigner": false
495
- },
496
- {
497
- "name": "user",
498
- "isMut": true,
499
- "isSigner": false
500
- },
501
- {
502
- "name": "authority",
503
- "isMut": false,
504
- "isSigner": true
505
- }
506
- ],
507
- "args": [
508
- {
509
- "name": "params",
510
- "type": {
511
- "defined": "OrderParams"
512
- }
513
- },
514
- {
515
- "name": "makerOrderId",
516
- "type": {
517
- "option": "u64"
518
- }
519
- }
520
- ]
521
- },
522
- {
523
- "name": "placeAndMake",
524
- "accounts": [
525
- {
526
- "name": "state",
527
- "isMut": false,
528
- "isSigner": false
529
- },
530
- {
531
- "name": "user",
532
- "isMut": true,
533
- "isSigner": false
534
- },
535
- {
536
- "name": "taker",
537
- "isMut": false,
538
- "isSigner": false
539
- },
540
- {
541
- "name": "authority",
542
- "isMut": false,
543
- "isSigner": true
544
- }
545
- ],
546
- "args": [
547
- {
548
- "name": "params",
549
- "type": {
550
- "defined": "OrderParams"
551
- }
552
- },
553
- {
554
- "name": "takerOrderId",
555
- "type": "u64"
556
- }
557
- ]
558
- },
559
- {
560
- "name": "triggerOrder",
561
- "accounts": [
562
- {
563
- "name": "state",
564
- "isMut": false,
565
- "isSigner": false
566
- },
567
- {
568
- "name": "authority",
569
- "isMut": false,
570
- "isSigner": true
571
- },
572
- {
573
- "name": "filler",
574
- "isMut": true,
575
- "isSigner": false
576
- },
577
- {
578
- "name": "user",
579
- "isMut": true,
580
- "isSigner": false
581
- }
582
- ],
583
- "args": [
584
- {
585
- "name": "orderId",
586
- "type": "u64"
587
- }
588
- ]
589
- },
590
- {
591
- "name": "updateAmms",
592
- "accounts": [
593
- {
594
- "name": "state",
595
- "isMut": false,
596
- "isSigner": false
597
- },
598
- {
599
- "name": "authority",
600
- "isMut": false,
601
- "isSigner": true
602
- }
603
- ],
604
- "args": [
605
- {
606
- "name": "marketIndexes",
607
- "type": {
608
- "array": [
609
- "u64",
610
- 5
611
- ]
612
- }
613
- }
614
- ]
615
- },
616
- {
617
- "name": "settlePnl",
618
- "accounts": [
619
- {
620
- "name": "state",
621
- "isMut": false,
622
- "isSigner": false
623
- },
624
- {
625
- "name": "user",
626
- "isMut": true,
627
- "isSigner": false
628
- },
629
- {
630
- "name": "authority",
631
- "isMut": false,
632
- "isSigner": true
633
- }
634
- ],
635
- "args": [
636
- {
637
- "name": "marketIndex",
638
- "type": "u64"
639
- }
640
- ]
641
- },
642
- {
643
- "name": "liquidate",
644
- "accounts": [
645
- {
646
- "name": "state",
647
- "isMut": false,
648
- "isSigner": false
649
- },
650
- {
651
- "name": "authority",
652
- "isMut": false,
653
- "isSigner": true
654
- },
655
- {
656
- "name": "liquidator",
657
- "isMut": true,
658
- "isSigner": false
659
- },
660
- {
661
- "name": "user",
662
- "isMut": true,
663
- "isSigner": false
664
- },
665
- {
666
- "name": "bankVault",
667
- "isMut": true,
668
- "isSigner": false
669
- },
670
- {
671
- "name": "bankVaultAuthority",
672
- "isMut": true,
673
- "isSigner": false
674
- },
675
- {
676
- "name": "insuranceVault",
677
- "isMut": true,
678
- "isSigner": false
679
- },
680
- {
681
- "name": "tokenProgram",
682
- "isMut": false,
683
- "isSigner": false
684
- }
685
- ],
686
- "args": []
687
- },
688
- {
689
- "name": "moveAmmPrice",
690
- "accounts": [
691
- {
692
- "name": "state",
693
- "isMut": false,
694
- "isSigner": false
695
- },
696
- {
697
- "name": "admin",
698
- "isMut": false,
699
- "isSigner": true
700
- },
701
- {
702
- "name": "market",
703
- "isMut": true,
704
- "isSigner": false
705
- }
706
- ],
707
- "args": [
708
- {
709
- "name": "baseAssetReserve",
710
- "type": "u128"
711
- },
712
- {
713
- "name": "quoteAssetReserve",
714
- "type": "u128"
715
- }
716
- ]
717
- },
718
- {
719
- "name": "withdrawFees",
720
- "accounts": [
721
- {
722
- "name": "state",
723
- "isMut": false,
724
- "isSigner": false
725
- },
726
- {
727
- "name": "admin",
728
- "isMut": false,
729
- "isSigner": true
730
- },
731
- {
732
- "name": "bank",
733
- "isMut": false,
734
- "isSigner": false
735
- },
736
- {
737
- "name": "bankVault",
738
- "isMut": true,
739
- "isSigner": false
740
- },
741
- {
742
- "name": "bankVaultAuthority",
743
- "isMut": true,
744
- "isSigner": false
745
- },
746
- {
747
- "name": "market",
748
- "isMut": true,
749
- "isSigner": false
750
- },
751
- {
752
- "name": "recipient",
753
- "isMut": true,
754
- "isSigner": false
755
- },
756
- {
757
- "name": "tokenProgram",
758
- "isMut": false,
759
- "isSigner": false
760
- }
761
- ],
762
- "args": [
763
- {
764
- "name": "amount",
765
- "type": "u64"
766
- }
767
- ]
768
- },
769
- {
770
- "name": "withdrawFromInsuranceVault",
771
- "accounts": [
772
- {
773
- "name": "state",
774
- "isMut": false,
775
- "isSigner": false
776
- },
777
- {
778
- "name": "admin",
779
- "isMut": false,
780
- "isSigner": true
781
- },
782
- {
783
- "name": "insuranceVault",
784
- "isMut": true,
785
- "isSigner": false
786
- },
787
- {
788
- "name": "insuranceVaultAuthority",
789
- "isMut": false,
790
- "isSigner": false
791
- },
792
- {
793
- "name": "recipient",
794
- "isMut": true,
795
- "isSigner": false
796
- },
797
- {
798
- "name": "tokenProgram",
799
- "isMut": false,
800
- "isSigner": false
801
- }
802
- ],
803
- "args": [
804
- {
805
- "name": "amount",
806
- "type": "u64"
807
- }
808
- ]
809
- },
810
- {
811
- "name": "withdrawFromInsuranceVaultToMarket",
812
- "accounts": [
813
- {
814
- "name": "state",
815
- "isMut": true,
816
- "isSigner": false
817
- },
818
- {
819
- "name": "market",
820
- "isMut": true,
821
- "isSigner": false
822
- },
823
- {
824
- "name": "admin",
825
- "isMut": false,
826
- "isSigner": true
827
- },
828
- {
829
- "name": "insuranceVault",
830
- "isMut": true,
831
- "isSigner": false
832
- },
833
- {
834
- "name": "insuranceVaultAuthority",
835
- "isMut": false,
836
- "isSigner": false
837
- },
838
- {
839
- "name": "bankVault",
840
- "isMut": true,
841
- "isSigner": false
842
- },
843
- {
844
- "name": "tokenProgram",
845
- "isMut": false,
846
- "isSigner": false
847
- }
848
- ],
849
- "args": [
850
- {
851
- "name": "amount",
852
- "type": "u64"
853
- }
854
- ]
855
- },
856
- {
857
- "name": "repegAmmCurve",
858
- "accounts": [
859
- {
860
- "name": "state",
861
- "isMut": false,
862
- "isSigner": false
863
- },
864
- {
865
- "name": "market",
866
- "isMut": true,
867
- "isSigner": false
868
- },
869
- {
870
- "name": "oracle",
871
- "isMut": false,
872
- "isSigner": false
873
- },
874
- {
875
- "name": "admin",
876
- "isMut": false,
877
- "isSigner": true
878
- }
879
- ],
880
- "args": [
881
- {
882
- "name": "newPegCandidate",
883
- "type": "u128"
884
- }
885
- ]
886
- },
887
- {
888
- "name": "updateAmmOracleTwap",
889
- "accounts": [
890
- {
891
- "name": "state",
892
- "isMut": false,
893
- "isSigner": false
894
- },
895
- {
896
- "name": "market",
897
- "isMut": true,
898
- "isSigner": false
899
- },
900
- {
901
- "name": "oracle",
902
- "isMut": false,
903
- "isSigner": false
904
- },
905
- {
906
- "name": "admin",
907
- "isMut": false,
908
- "isSigner": true
909
- }
910
- ],
911
- "args": []
912
- },
913
- {
914
- "name": "resetAmmOracleTwap",
915
- "accounts": [
916
- {
917
- "name": "state",
918
- "isMut": false,
919
- "isSigner": false
920
- },
921
- {
922
- "name": "market",
923
- "isMut": true,
924
- "isSigner": false
925
- },
926
- {
927
- "name": "oracle",
928
- "isMut": false,
929
- "isSigner": false
930
- },
931
- {
932
- "name": "admin",
933
- "isMut": false,
934
- "isSigner": true
935
- }
936
- ],
937
- "args": []
938
- },
939
- {
940
- "name": "initializeUser",
941
- "accounts": [
942
- {
943
- "name": "user",
944
- "isMut": true,
945
- "isSigner": false
946
- },
947
- {
948
- "name": "state",
949
- "isMut": false,
950
- "isSigner": false
951
- },
952
- {
953
- "name": "authority",
954
- "isMut": false,
955
- "isSigner": true
956
- },
957
- {
958
- "name": "payer",
959
- "isMut": true,
960
- "isSigner": true
961
- },
962
- {
963
- "name": "rent",
964
- "isMut": false,
965
- "isSigner": false
966
- },
967
- {
968
- "name": "systemProgram",
969
- "isMut": false,
970
- "isSigner": false
971
- }
972
- ],
973
- "args": [
974
- {
975
- "name": "userId",
976
- "type": "u8"
977
- },
978
- {
979
- "name": "name",
980
- "type": {
981
- "array": [
982
- "u8",
983
- 32
984
- ]
985
- }
986
- }
987
- ]
988
- },
989
- {
990
- "name": "settleFundingPayment",
991
- "accounts": [
992
- {
993
- "name": "state",
994
- "isMut": false,
995
- "isSigner": false
996
- },
997
- {
998
- "name": "user",
999
- "isMut": true,
1000
- "isSigner": false
1001
- }
1002
- ],
1003
- "args": []
1004
- },
1005
- {
1006
- "name": "updateFundingRate",
1007
- "accounts": [
1008
- {
1009
- "name": "state",
1010
- "isMut": false,
1011
- "isSigner": false
1012
- },
1013
- {
1014
- "name": "market",
1015
- "isMut": true,
1016
- "isSigner": false
1017
- },
1018
- {
1019
- "name": "oracle",
1020
- "isMut": false,
1021
- "isSigner": false
1022
- }
1023
- ],
1024
- "args": [
1025
- {
1026
- "name": "marketIndex",
1027
- "type": "u64"
1028
- }
1029
- ]
1030
- },
1031
- {
1032
- "name": "updateK",
1033
- "accounts": [
1034
- {
1035
- "name": "admin",
1036
- "isMut": false,
1037
- "isSigner": true
1038
- },
1039
- {
1040
- "name": "state",
1041
- "isMut": false,
1042
- "isSigner": false
1043
- },
1044
- {
1045
- "name": "market",
1046
- "isMut": true,
1047
- "isSigner": false
1048
- },
1049
- {
1050
- "name": "oracle",
1051
- "isMut": false,
1052
- "isSigner": false
1053
- }
1054
- ],
1055
- "args": [
1056
- {
1057
- "name": "sqrtK",
1058
- "type": "u128"
1059
- }
1060
- ]
1061
- },
1062
- {
1063
- "name": "updateMarginRatio",
1064
- "accounts": [
1065
- {
1066
- "name": "admin",
1067
- "isMut": false,
1068
- "isSigner": true
1069
- },
1070
- {
1071
- "name": "state",
1072
- "isMut": false,
1073
- "isSigner": false
1074
- },
1075
- {
1076
- "name": "market",
1077
- "isMut": true,
1078
- "isSigner": false
1079
- }
1080
- ],
1081
- "args": [
1082
- {
1083
- "name": "marginRatioInitial",
1084
- "type": "u32"
1085
- },
1086
- {
1087
- "name": "marginRatioPartial",
1088
- "type": "u32"
1089
- },
1090
- {
1091
- "name": "marginRatioMaintenance",
1092
- "type": "u32"
1093
- }
1094
- ]
1095
- },
1096
- {
1097
- "name": "updateCurveUpdateIntensity",
1098
- "accounts": [
1099
- {
1100
- "name": "admin",
1101
- "isMut": false,
1102
- "isSigner": true
1103
- },
1104
- {
1105
- "name": "state",
1106
- "isMut": false,
1107
- "isSigner": false
1108
- },
1109
- {
1110
- "name": "market",
1111
- "isMut": true,
1112
- "isSigner": false
1113
- }
1114
- ],
1115
- "args": [
1116
- {
1117
- "name": "curveUpdateIntensity",
1118
- "type": "u8"
1119
- }
1120
- ]
1121
- },
1122
- {
1123
- "name": "updatePartialLiquidationClosePercentage",
1124
- "accounts": [
1125
- {
1126
- "name": "admin",
1127
- "isMut": false,
1128
- "isSigner": true
1129
- },
1130
- {
1131
- "name": "state",
1132
- "isMut": true,
1133
- "isSigner": false
1134
- }
1135
- ],
1136
- "args": [
1137
- {
1138
- "name": "numerator",
1139
- "type": "u128"
1140
- },
1141
- {
1142
- "name": "denominator",
1143
- "type": "u128"
1144
- }
1145
- ]
1146
- },
1147
- {
1148
- "name": "updatePartialLiquidationPenaltyPercentage",
1149
- "accounts": [
1150
- {
1151
- "name": "admin",
1152
- "isMut": false,
1153
- "isSigner": true
1154
- },
1155
- {
1156
- "name": "state",
1157
- "isMut": true,
1158
- "isSigner": false
1159
- }
1160
- ],
1161
- "args": [
1162
- {
1163
- "name": "numerator",
1164
- "type": "u128"
1165
- },
1166
- {
1167
- "name": "denominator",
1168
- "type": "u128"
1169
- }
1170
- ]
1171
- },
1172
- {
1173
- "name": "updateFullLiquidationPenaltyPercentage",
1174
- "accounts": [
1175
- {
1176
- "name": "admin",
1177
- "isMut": false,
1178
- "isSigner": true
1179
- },
1180
- {
1181
- "name": "state",
1182
- "isMut": true,
1183
- "isSigner": false
1184
- }
1185
- ],
1186
- "args": [
1187
- {
1188
- "name": "numerator",
1189
- "type": "u128"
1190
- },
1191
- {
1192
- "name": "denominator",
1193
- "type": "u128"
1194
- }
1195
- ]
1196
- },
1197
- {
1198
- "name": "updatePartialLiquidationLiquidatorShareDenominator",
1199
- "accounts": [
1200
- {
1201
- "name": "admin",
1202
- "isMut": false,
1203
- "isSigner": true
1204
- },
1205
- {
1206
- "name": "state",
1207
- "isMut": true,
1208
- "isSigner": false
1209
- }
1210
- ],
1211
- "args": [
1212
- {
1213
- "name": "denominator",
1214
- "type": "u64"
1215
- }
1216
- ]
1217
- },
1218
- {
1219
- "name": "updateFullLiquidationLiquidatorShareDenominator",
1220
- "accounts": [
1221
- {
1222
- "name": "admin",
1223
- "isMut": false,
1224
- "isSigner": true
1225
- },
1226
- {
1227
- "name": "state",
1228
- "isMut": true,
1229
- "isSigner": false
1230
- }
1231
- ],
1232
- "args": [
1233
- {
1234
- "name": "denominator",
1235
- "type": "u64"
1236
- }
1237
- ]
1238
- },
1239
- {
1240
- "name": "updateFee",
1241
- "accounts": [
1242
- {
1243
- "name": "admin",
1244
- "isMut": false,
1245
- "isSigner": true
1246
- },
1247
- {
1248
- "name": "state",
1249
- "isMut": true,
1250
- "isSigner": false
1251
- }
1252
- ],
1253
- "args": [
1254
- {
1255
- "name": "fees",
1256
- "type": {
1257
- "defined": "FeeStructure"
1258
- }
1259
- }
1260
- ]
1261
- },
1262
- {
1263
- "name": "updateOrderFillerRewardStructure",
1264
- "accounts": [
1265
- {
1266
- "name": "admin",
1267
- "isMut": false,
1268
- "isSigner": true
1269
- },
1270
- {
1271
- "name": "state",
1272
- "isMut": true,
1273
- "isSigner": false
1274
- }
1275
- ],
1276
- "args": [
1277
- {
1278
- "name": "orderFillerRewardStructure",
1279
- "type": {
1280
- "defined": "OrderFillerRewardStructure"
1281
- }
1282
- }
1283
- ]
1284
- },
1285
- {
1286
- "name": "updateOracleGuardRails",
1287
- "accounts": [
1288
- {
1289
- "name": "admin",
1290
- "isMut": false,
1291
- "isSigner": true
1292
- },
1293
- {
1294
- "name": "state",
1295
- "isMut": true,
1296
- "isSigner": false
1297
- }
1298
- ],
1299
- "args": [
1300
- {
1301
- "name": "oracleGuardRails",
1302
- "type": {
1303
- "defined": "OracleGuardRails"
1304
- }
1305
- }
1306
- ]
1307
- },
1308
- {
1309
- "name": "updateMarketOracle",
1310
- "accounts": [
1311
- {
1312
- "name": "admin",
1313
- "isMut": false,
1314
- "isSigner": true
1315
- },
1316
- {
1317
- "name": "state",
1318
- "isMut": false,
1319
- "isSigner": false
1320
- },
1321
- {
1322
- "name": "market",
1323
- "isMut": true,
1324
- "isSigner": false
1325
- }
1326
- ],
1327
- "args": [
1328
- {
1329
- "name": "oracle",
1330
- "type": "publicKey"
1331
- },
1332
- {
1333
- "name": "oracleSource",
1334
- "type": {
1335
- "defined": "OracleSource"
1336
- }
1337
- }
1338
- ]
1339
- },
1340
- {
1341
- "name": "updateMarketMinimumQuoteAssetTradeSize",
1342
- "accounts": [
1343
- {
1344
- "name": "admin",
1345
- "isMut": false,
1346
- "isSigner": true
1347
- },
1348
- {
1349
- "name": "state",
1350
- "isMut": false,
1351
- "isSigner": false
1352
- },
1353
- {
1354
- "name": "market",
1355
- "isMut": true,
1356
- "isSigner": false
1357
- }
1358
- ],
1359
- "args": [
1360
- {
1361
- "name": "minimumTradeSize",
1362
- "type": "u128"
1363
- }
1364
- ]
1365
- },
1366
- {
1367
- "name": "updateMarketBaseSpread",
1368
- "accounts": [
1369
- {
1370
- "name": "admin",
1371
- "isMut": false,
1372
- "isSigner": true
1373
- },
1374
- {
1375
- "name": "state",
1376
- "isMut": false,
1377
- "isSigner": false
1378
- },
1379
- {
1380
- "name": "market",
1381
- "isMut": true,
1382
- "isSigner": false
1383
- }
1384
- ],
1385
- "args": [
1386
- {
1387
- "name": "baseSpread",
1388
- "type": "u16"
1389
- }
1390
- ]
1391
- },
1392
- {
1393
- "name": "updateMarketMaxSpread",
1394
- "accounts": [
1395
- {
1396
- "name": "admin",
1397
- "isMut": false,
1398
- "isSigner": true
1399
- },
1400
- {
1401
- "name": "state",
1402
- "isMut": false,
1403
- "isSigner": false
1404
- },
1405
- {
1406
- "name": "market",
1407
- "isMut": true,
1408
- "isSigner": false
1409
- }
1410
- ],
1411
- "args": [
1412
- {
1413
- "name": "maxSpread",
1414
- "type": "u32"
1415
- }
1416
- ]
1417
- },
1418
- {
1419
- "name": "updateMarketBaseAssetAmountStepSize",
1420
- "accounts": [
1421
- {
1422
- "name": "admin",
1423
- "isMut": false,
1424
- "isSigner": true
1425
- },
1426
- {
1427
- "name": "state",
1428
- "isMut": false,
1429
- "isSigner": false
1430
- },
1431
- {
1432
- "name": "market",
1433
- "isMut": true,
1434
- "isSigner": false
1435
- }
1436
- ],
1437
- "args": [
1438
- {
1439
- "name": "minimumTradeSize",
1440
- "type": "u128"
1441
- }
1442
- ]
1443
- },
1444
- {
1445
- "name": "updateMarketMaxSlippageRatio",
1446
- "accounts": [
1447
- {
1448
- "name": "admin",
1449
- "isMut": false,
1450
- "isSigner": true
1451
- },
1452
- {
1453
- "name": "state",
1454
- "isMut": false,
1455
- "isSigner": false
1456
- },
1457
- {
1458
- "name": "market",
1459
- "isMut": true,
1460
- "isSigner": false
1461
- }
1462
- ],
1463
- "args": [
1464
- {
1465
- "name": "maxSlippageRatio",
1466
- "type": "u16"
1467
- }
1468
- ]
1469
- },
1470
- {
1471
- "name": "updateMaxBaseAssetAmountRatio",
1472
- "accounts": [
1473
- {
1474
- "name": "admin",
1475
- "isMut": false,
1476
- "isSigner": true
1477
- },
1478
- {
1479
- "name": "state",
1480
- "isMut": false,
1481
- "isSigner": false
1482
- },
1483
- {
1484
- "name": "market",
1485
- "isMut": true,
1486
- "isSigner": false
1487
- }
1488
- ],
1489
- "args": [
1490
- {
1491
- "name": "maxBaseAssetAmountRatio",
1492
- "type": "u16"
1493
- }
1494
- ]
1495
- },
1496
- {
1497
- "name": "updateAdmin",
1498
- "accounts": [
1499
- {
1500
- "name": "admin",
1501
- "isMut": false,
1502
- "isSigner": true
1503
- },
1504
- {
1505
- "name": "state",
1506
- "isMut": true,
1507
- "isSigner": false
1508
- }
1509
- ],
1510
- "args": [
1511
- {
1512
- "name": "admin",
1513
- "type": "publicKey"
1514
- }
1515
- ]
1516
- },
1517
- {
1518
- "name": "updateWhitelistMint",
1519
- "accounts": [
1520
- {
1521
- "name": "admin",
1522
- "isMut": false,
1523
- "isSigner": true
1524
- },
1525
- {
1526
- "name": "state",
1527
- "isMut": true,
1528
- "isSigner": false
1529
- }
1530
- ],
1531
- "args": [
1532
- {
1533
- "name": "whitelistMint",
1534
- "type": "publicKey"
1535
- }
1536
- ]
1537
- },
1538
- {
1539
- "name": "updateDiscountMint",
1540
- "accounts": [
1541
- {
1542
- "name": "admin",
1543
- "isMut": false,
1544
- "isSigner": true
1545
- },
1546
- {
1547
- "name": "state",
1548
- "isMut": true,
1549
- "isSigner": false
1550
- }
1551
- ],
1552
- "args": [
1553
- {
1554
- "name": "discountMint",
1555
- "type": "publicKey"
1556
- }
1557
- ]
1558
- },
1559
- {
1560
- "name": "updateExchangePaused",
1561
- "accounts": [
1562
- {
1563
- "name": "admin",
1564
- "isMut": false,
1565
- "isSigner": true
1566
- },
1567
- {
1568
- "name": "state",
1569
- "isMut": true,
1570
- "isSigner": false
1571
- }
1572
- ],
1573
- "args": [
1574
- {
1575
- "name": "exchangePaused",
1576
- "type": "bool"
1577
- }
1578
- ]
1579
- },
1580
- {
1581
- "name": "disableAdminControlsPrices",
1582
- "accounts": [
1583
- {
1584
- "name": "admin",
1585
- "isMut": false,
1586
- "isSigner": true
1587
- },
1588
- {
1589
- "name": "state",
1590
- "isMut": true,
1591
- "isSigner": false
1592
- }
1593
- ],
1594
- "args": []
1595
- },
1596
- {
1597
- "name": "updateFundingPaused",
1598
- "accounts": [
1599
- {
1600
- "name": "admin",
1601
- "isMut": false,
1602
- "isSigner": true
1603
- },
1604
- {
1605
- "name": "state",
1606
- "isMut": true,
1607
- "isSigner": false
1608
- }
1609
- ],
1610
- "args": [
1611
- {
1612
- "name": "fundingPaused",
1613
- "type": "bool"
1614
- }
1615
- ]
1616
- },
1617
- {
1618
- "name": "updateAuctionDuration",
1619
- "accounts": [
1620
- {
1621
- "name": "admin",
1622
- "isMut": false,
1623
- "isSigner": true
1624
- },
1625
- {
1626
- "name": "state",
1627
- "isMut": true,
1628
- "isSigner": false
1629
- }
1630
- ],
1631
- "args": [
1632
- {
1633
- "name": "minAuctionDuration",
1634
- "type": "u8"
1635
- },
1636
- {
1637
- "name": "maxAuctionDuration",
1638
- "type": "u8"
1639
- }
1640
- ]
1641
- }
1642
- ],
1643
- "accounts": [
1644
- {
1645
- "name": "Bank",
1646
- "type": {
1647
- "kind": "struct",
1648
- "fields": [
1649
- {
1650
- "name": "bankIndex",
1651
- "type": "u64"
1652
- },
1653
- {
1654
- "name": "pubkey",
1655
- "type": "publicKey"
1656
- },
1657
- {
1658
- "name": "oracle",
1659
- "type": "publicKey"
1660
- },
1661
- {
1662
- "name": "oracleSource",
1663
- "type": {
1664
- "defined": "OracleSource"
1665
- }
1666
- },
1667
- {
1668
- "name": "mint",
1669
- "type": "publicKey"
1670
- },
1671
- {
1672
- "name": "vault",
1673
- "type": "publicKey"
1674
- },
1675
- {
1676
- "name": "vaultAuthority",
1677
- "type": "publicKey"
1678
- },
1679
- {
1680
- "name": "vaultAuthorityNonce",
1681
- "type": "u8"
1682
- },
1683
- {
1684
- "name": "decimals",
1685
- "type": "u8"
1686
- },
1687
- {
1688
- "name": "optimalUtilization",
1689
- "type": "u128"
1690
- },
1691
- {
1692
- "name": "optimalBorrowRate",
1693
- "type": "u128"
1694
- },
1695
- {
1696
- "name": "maxBorrowRate",
1697
- "type": "u128"
1698
- },
1699
- {
1700
- "name": "depositBalance",
1701
- "type": "u128"
1702
- },
1703
- {
1704
- "name": "borrowBalance",
1705
- "type": "u128"
1706
- },
1707
- {
1708
- "name": "cumulativeDepositInterest",
1709
- "type": "u128"
1710
- },
1711
- {
1712
- "name": "cumulativeBorrowInterest",
1713
- "type": "u128"
1714
- },
1715
- {
1716
- "name": "lastUpdated",
1717
- "type": "u64"
1718
- },
1719
- {
1720
- "name": "initialAssetWeight",
1721
- "type": "u128"
1722
- },
1723
- {
1724
- "name": "maintenanceAssetWeight",
1725
- "type": "u128"
1726
- },
1727
- {
1728
- "name": "initialLiabilityWeight",
1729
- "type": "u128"
1730
- },
1731
- {
1732
- "name": "maintenanceLiabilityWeight",
1733
- "type": "u128"
1734
- }
1735
- ]
1736
- }
1737
- },
1738
- {
1739
- "name": "Market",
1740
- "type": {
1741
- "kind": "struct",
1742
- "fields": [
1743
- {
1744
- "name": "marketIndex",
1745
- "type": "u64"
1746
- },
1747
- {
1748
- "name": "pubkey",
1749
- "type": "publicKey"
1750
- },
1751
- {
1752
- "name": "initialized",
1753
- "type": "bool"
1754
- },
1755
- {
1756
- "name": "amm",
1757
- "type": {
1758
- "defined": "AMM"
1759
- }
1760
- },
1761
- {
1762
- "name": "baseAssetAmountLong",
1763
- "type": "i128"
1764
- },
1765
- {
1766
- "name": "baseAssetAmountShort",
1767
- "type": "i128"
1768
- },
1769
- {
1770
- "name": "openInterest",
1771
- "type": "u128"
1772
- },
1773
- {
1774
- "name": "marginRatioInitial",
1775
- "type": "u32"
1776
- },
1777
- {
1778
- "name": "marginRatioPartial",
1779
- "type": "u32"
1780
- },
1781
- {
1782
- "name": "marginRatioMaintenance",
1783
- "type": "u32"
1784
- },
1785
- {
1786
- "name": "nextFillRecordId",
1787
- "type": "u64"
1788
- },
1789
- {
1790
- "name": "nextFundingRateRecordId",
1791
- "type": "u64"
1792
- },
1793
- {
1794
- "name": "nextCurveRecordId",
1795
- "type": "u64"
1796
- },
1797
- {
1798
- "name": "pnlPool",
1799
- "type": {
1800
- "defined": "PoolBalance"
1801
- }
1802
- },
1803
- {
1804
- "name": "unsettledProfit",
1805
- "type": "u128"
1806
- },
1807
- {
1808
- "name": "unsettledLoss",
1809
- "type": "u128"
1810
- },
1811
- {
1812
- "name": "padding0",
1813
- "type": "u32"
1814
- },
1815
- {
1816
- "name": "padding1",
1817
- "type": "u128"
1818
- },
1819
- {
1820
- "name": "padding2",
1821
- "type": "u128"
1822
- },
1823
- {
1824
- "name": "padding3",
1825
- "type": "u128"
1826
- },
1827
- {
1828
- "name": "padding4",
1829
- "type": "u128"
1830
- }
1831
- ]
1832
- }
1833
- },
1834
- {
1835
- "name": "State",
1836
- "type": {
1837
- "kind": "struct",
1838
- "fields": [
1839
- {
1840
- "name": "admin",
1841
- "type": "publicKey"
1842
- },
1843
- {
1844
- "name": "exchangePaused",
1845
- "type": "bool"
1846
- },
1847
- {
1848
- "name": "fundingPaused",
1849
- "type": "bool"
1850
- },
1851
- {
1852
- "name": "adminControlsPrices",
1853
- "type": "bool"
1854
- },
1855
- {
1856
- "name": "insuranceVault",
1857
- "type": "publicKey"
1858
- },
1859
- {
1860
- "name": "insuranceVaultAuthority",
1861
- "type": "publicKey"
1862
- },
1863
- {
1864
- "name": "insuranceVaultNonce",
1865
- "type": "u8"
1866
- },
1867
- {
1868
- "name": "marginRatioInitial",
1869
- "type": "u128"
1870
- },
1871
- {
1872
- "name": "marginRatioMaintenance",
1873
- "type": "u128"
1874
- },
1875
- {
1876
- "name": "marginRatioPartial",
1877
- "type": "u128"
1878
- },
1879
- {
1880
- "name": "partialLiquidationClosePercentageNumerator",
1881
- "type": "u128"
1882
- },
1883
- {
1884
- "name": "partialLiquidationClosePercentageDenominator",
1885
- "type": "u128"
1886
- },
1887
- {
1888
- "name": "partialLiquidationPenaltyPercentageNumerator",
1889
- "type": "u128"
1890
- },
1891
- {
1892
- "name": "partialLiquidationPenaltyPercentageDenominator",
1893
- "type": "u128"
1894
- },
1895
- {
1896
- "name": "fullLiquidationPenaltyPercentageNumerator",
1897
- "type": "u128"
1898
- },
1899
- {
1900
- "name": "fullLiquidationPenaltyPercentageDenominator",
1901
- "type": "u128"
1902
- },
1903
- {
1904
- "name": "partialLiquidationLiquidatorShareDenominator",
1905
- "type": "u64"
1906
- },
1907
- {
1908
- "name": "fullLiquidationLiquidatorShareDenominator",
1909
- "type": "u64"
1910
- },
1911
- {
1912
- "name": "feeStructure",
1913
- "type": {
1914
- "defined": "FeeStructure"
1915
- }
1916
- },
1917
- {
1918
- "name": "whitelistMint",
1919
- "type": "publicKey"
1920
- },
1921
- {
1922
- "name": "discountMint",
1923
- "type": "publicKey"
1924
- },
1925
- {
1926
- "name": "oracleGuardRails",
1927
- "type": {
1928
- "defined": "OracleGuardRails"
1929
- }
1930
- },
1931
- {
1932
- "name": "numberOfMarkets",
1933
- "type": "u64"
1934
- },
1935
- {
1936
- "name": "numberOfBanks",
1937
- "type": "u64"
1938
- },
1939
- {
1940
- "name": "minOrderQuoteAssetAmount",
1941
- "type": "u128"
1942
- },
1943
- {
1944
- "name": "minAuctionDuration",
1945
- "type": "u8"
1946
- },
1947
- {
1948
- "name": "maxAuctionDuration",
1949
- "type": "u8"
1950
- },
1951
- {
1952
- "name": "padding0",
1953
- "type": "u128"
1954
- },
1955
- {
1956
- "name": "padding1",
1957
- "type": "u128"
1958
- }
1959
- ]
1960
- }
1961
- },
1962
- {
1963
- "name": "User",
1964
- "type": {
1965
- "kind": "struct",
1966
- "fields": [
1967
- {
1968
- "name": "authority",
1969
- "type": "publicKey"
1970
- },
1971
- {
1972
- "name": "userId",
1973
- "type": "u8"
1974
- },
1975
- {
1976
- "name": "name",
1977
- "type": {
1978
- "array": [
1979
- "u8",
1980
- 32
1981
- ]
1982
- }
1983
- },
1984
- {
1985
- "name": "bankBalances",
1986
- "type": {
1987
- "array": [
1988
- {
1989
- "defined": "UserBankBalance"
1990
- },
1991
- 8
1992
- ]
1993
- }
1994
- },
1995
- {
1996
- "name": "fees",
1997
- "type": {
1998
- "defined": "UserFees"
1999
- }
2000
- },
2001
- {
2002
- "name": "nextOrderId",
2003
- "type": "u64"
2004
- },
2005
- {
2006
- "name": "positions",
2007
- "type": {
2008
- "array": [
2009
- {
2010
- "defined": "MarketPosition"
2011
- },
2012
- 5
2013
- ]
2014
- }
2015
- },
2016
- {
2017
- "name": "orders",
2018
- "type": {
2019
- "array": [
2020
- {
2021
- "defined": "Order"
2022
- },
2023
- 32
2024
- ]
2025
- }
2026
- }
2027
- ]
2028
- }
2029
- }
2030
- ],
2031
- "types": [
2032
- {
2033
- "name": "OrderParams",
2034
- "type": {
2035
- "kind": "struct",
2036
- "fields": [
2037
- {
2038
- "name": "orderType",
2039
- "type": {
2040
- "defined": "OrderType"
2041
- }
2042
- },
2043
- {
2044
- "name": "direction",
2045
- "type": {
2046
- "defined": "PositionDirection"
2047
- }
2048
- },
2049
- {
2050
- "name": "userOrderId",
2051
- "type": "u8"
2052
- },
2053
- {
2054
- "name": "baseAssetAmount",
2055
- "type": "u128"
2056
- },
2057
- {
2058
- "name": "price",
2059
- "type": "u128"
2060
- },
2061
- {
2062
- "name": "marketIndex",
2063
- "type": "u64"
2064
- },
2065
- {
2066
- "name": "reduceOnly",
2067
- "type": "bool"
2068
- },
2069
- {
2070
- "name": "postOnly",
2071
- "type": "bool"
2072
- },
2073
- {
2074
- "name": "immediateOrCancel",
2075
- "type": "bool"
2076
- },
2077
- {
2078
- "name": "triggerPrice",
2079
- "type": "u128"
2080
- },
2081
- {
2082
- "name": "triggerCondition",
2083
- "type": {
2084
- "defined": "OrderTriggerCondition"
2085
- }
2086
- },
2087
- {
2088
- "name": "optionalAccounts",
2089
- "type": {
2090
- "defined": "OrderParamsOptionalAccounts"
2091
- }
2092
- },
2093
- {
2094
- "name": "positionLimit",
2095
- "type": "u128"
2096
- },
2097
- {
2098
- "name": "oraclePriceOffset",
2099
- "type": "i128"
2100
- },
2101
- {
2102
- "name": "auctionDuration",
2103
- "type": "u8"
2104
- },
2105
- {
2106
- "name": "padding0",
2107
- "type": "bool"
2108
- },
2109
- {
2110
- "name": "padding1",
2111
- "type": "bool"
2112
- }
2113
- ]
2114
- }
2115
- },
2116
- {
2117
- "name": "OrderParamsOptionalAccounts",
2118
- "type": {
2119
- "kind": "struct",
2120
- "fields": [
2121
- {
2122
- "name": "discountToken",
2123
- "type": "bool"
2124
- },
2125
- {
2126
- "name": "referrer",
2127
- "type": "bool"
2128
- }
2129
- ]
2130
- }
2131
- },
2132
- {
2133
- "name": "PoolBalance",
2134
- "type": {
2135
- "kind": "struct",
2136
- "fields": [
2137
- {
2138
- "name": "balance",
2139
- "type": "u128"
2140
- }
2141
- ]
2142
- }
2143
- },
2144
- {
2145
- "name": "AMM",
2146
- "type": {
2147
- "kind": "struct",
2148
- "fields": [
2149
- {
2150
- "name": "oracle",
2151
- "type": "publicKey"
2152
- },
2153
- {
2154
- "name": "oracleSource",
2155
- "type": {
2156
- "defined": "OracleSource"
2157
- }
2158
- },
2159
- {
2160
- "name": "lastOraclePrice",
2161
- "type": "i128"
2162
- },
2163
- {
2164
- "name": "lastOracleConfPct",
2165
- "type": "u64"
2166
- },
2167
- {
2168
- "name": "lastOracleDelay",
2169
- "type": "i64"
2170
- },
2171
- {
2172
- "name": "lastOracleNormalisedPrice",
2173
- "type": "i128"
2174
- },
2175
- {
2176
- "name": "lastOraclePriceTwap",
2177
- "type": "i128"
2178
- },
2179
- {
2180
- "name": "lastOraclePriceTwapTs",
2181
- "type": "i64"
2182
- },
2183
- {
2184
- "name": "lastOracleMarkSpreadPct",
2185
- "type": "i128"
2186
- },
2187
- {
2188
- "name": "baseAssetReserve",
2189
- "type": "u128"
2190
- },
2191
- {
2192
- "name": "quoteAssetReserve",
2193
- "type": "u128"
2194
- },
2195
- {
2196
- "name": "sqrtK",
2197
- "type": "u128"
2198
- },
2199
- {
2200
- "name": "pegMultiplier",
2201
- "type": "u128"
2202
- },
2203
- {
2204
- "name": "terminalQuoteAssetReserve",
2205
- "type": "u128"
2206
- },
2207
- {
2208
- "name": "netBaseAssetAmount",
2209
- "type": "i128"
2210
- },
2211
- {
2212
- "name": "quoteAssetAmountLong",
2213
- "type": "u128"
2214
- },
2215
- {
2216
- "name": "quoteAssetAmountShort",
2217
- "type": "u128"
2218
- },
2219
- {
2220
- "name": "lastFundingRate",
2221
- "type": "i128"
2222
- },
2223
- {
2224
- "name": "lastFundingRateTs",
2225
- "type": "i64"
2226
- },
2227
- {
2228
- "name": "fundingPeriod",
2229
- "type": "i64"
2230
- },
2231
- {
2232
- "name": "cumulativeFundingRateLong",
2233
- "type": "i128"
2234
- },
2235
- {
2236
- "name": "cumulativeFundingRateShort",
2237
- "type": "i128"
2238
- },
2239
- {
2240
- "name": "cumulativeFundingRateLp",
2241
- "type": "i128"
2242
- },
2243
- {
2244
- "name": "cumulativeRepegRebateLong",
2245
- "type": "u128"
2246
- },
2247
- {
2248
- "name": "cumulativeRepegRebateShort",
2249
- "type": "u128"
2250
- },
2251
- {
2252
- "name": "markStd",
2253
- "type": "u64"
2254
- },
2255
- {
2256
- "name": "lastMarkPriceTwap",
2257
- "type": "u128"
2258
- },
2259
- {
2260
- "name": "lastMarkPriceTwapTs",
2261
- "type": "i64"
2262
- },
2263
- {
2264
- "name": "minimumQuoteAssetTradeSize",
2265
- "type": "u128"
2266
- },
2267
- {
2268
- "name": "maxBaseAssetAmountRatio",
2269
- "type": "u16"
2270
- },
2271
- {
2272
- "name": "maxSlippageRatio",
2273
- "type": "u16"
2274
- },
2275
- {
2276
- "name": "baseAssetAmountStepSize",
2277
- "type": "u128"
2278
- },
2279
- {
2280
- "name": "baseSpread",
2281
- "type": "u16"
2282
- },
2283
- {
2284
- "name": "longSpread",
2285
- "type": "u128"
2286
- },
2287
- {
2288
- "name": "shortSpread",
2289
- "type": "u128"
2290
- },
2291
- {
2292
- "name": "maxSpread",
2293
- "type": "u32"
2294
- },
2295
- {
2296
- "name": "askBaseAssetReserve",
2297
- "type": "u128"
2298
- },
2299
- {
2300
- "name": "askQuoteAssetReserve",
2301
- "type": "u128"
2302
- },
2303
- {
2304
- "name": "bidBaseAssetReserve",
2305
- "type": "u128"
2306
- },
2307
- {
2308
- "name": "bidQuoteAssetReserve",
2309
- "type": "u128"
2310
- },
2311
- {
2312
- "name": "lastBidPriceTwap",
2313
- "type": "u128"
2314
- },
2315
- {
2316
- "name": "lastAskPriceTwap",
2317
- "type": "u128"
2318
- },
2319
- {
2320
- "name": "longIntensityCount",
2321
- "type": "u16"
2322
- },
2323
- {
2324
- "name": "longIntensityVolume",
2325
- "type": "u64"
2326
- },
2327
- {
2328
- "name": "shortIntensityCount",
2329
- "type": "u16"
2330
- },
2331
- {
2332
- "name": "shortIntensityVolume",
2333
- "type": "u64"
2334
- },
2335
- {
2336
- "name": "curveUpdateIntensity",
2337
- "type": "u8"
2338
- },
2339
- {
2340
- "name": "totalFee",
2341
- "type": "u128"
2342
- },
2343
- {
2344
- "name": "totalMmFee",
2345
- "type": "u128"
2346
- },
2347
- {
2348
- "name": "totalExchangeFee",
2349
- "type": "u128"
2350
- },
2351
- {
2352
- "name": "totalFeeMinusDistributions",
2353
- "type": "i128"
2354
- },
2355
- {
2356
- "name": "totalFeeWithdrawn",
2357
- "type": "u128"
2358
- },
2359
- {
2360
- "name": "netRevenueSinceLastFunding",
2361
- "type": "i64"
2362
- },
2363
- {
2364
- "name": "feePool",
2365
- "type": {
2366
- "defined": "PoolBalance"
2367
- }
2368
- },
2369
- {
2370
- "name": "lastUpdateSlot",
2371
- "type": "u64"
2372
- },
2373
- {
2374
- "name": "padding0",
2375
- "type": "u16"
2376
- },
2377
- {
2378
- "name": "padding1",
2379
- "type": "u32"
2380
- },
2381
- {
2382
- "name": "padding2",
2383
- "type": "u128"
2384
- },
2385
- {
2386
- "name": "padding3",
2387
- "type": "u128"
2388
- }
2389
- ]
2390
- }
2391
- },
2392
- {
2393
- "name": "OracleGuardRails",
2394
- "type": {
2395
- "kind": "struct",
2396
- "fields": [
2397
- {
2398
- "name": "priceDivergence",
2399
- "type": {
2400
- "defined": "PriceDivergenceGuardRails"
2401
- }
2402
- },
2403
- {
2404
- "name": "validity",
2405
- "type": {
2406
- "defined": "ValidityGuardRails"
2407
- }
2408
- },
2409
- {
2410
- "name": "useForLiquidations",
2411
- "type": "bool"
2412
- }
2413
- ]
2414
- }
2415
- },
2416
- {
2417
- "name": "PriceDivergenceGuardRails",
2418
- "type": {
2419
- "kind": "struct",
2420
- "fields": [
2421
- {
2422
- "name": "markOracleDivergenceNumerator",
2423
- "type": "u128"
2424
- },
2425
- {
2426
- "name": "markOracleDivergenceDenominator",
2427
- "type": "u128"
2428
- }
2429
- ]
2430
- }
2431
- },
2432
- {
2433
- "name": "ValidityGuardRails",
2434
- "type": {
2435
- "kind": "struct",
2436
- "fields": [
2437
- {
2438
- "name": "slotsBeforeStale",
2439
- "type": "i64"
2440
- },
2441
- {
2442
- "name": "confidenceIntervalMaxSize",
2443
- "type": "u128"
2444
- },
2445
- {
2446
- "name": "tooVolatileRatio",
2447
- "type": "i128"
2448
- }
2449
- ]
2450
- }
2451
- },
2452
- {
2453
- "name": "FeeStructure",
2454
- "type": {
2455
- "kind": "struct",
2456
- "fields": [
2457
- {
2458
- "name": "feeNumerator",
2459
- "type": "u128"
2460
- },
2461
- {
2462
- "name": "feeDenominator",
2463
- "type": "u128"
2464
- },
2465
- {
2466
- "name": "discountTokenTiers",
2467
- "type": {
2468
- "defined": "DiscountTokenTiers"
2469
- }
2470
- },
2471
- {
2472
- "name": "referralDiscount",
2473
- "type": {
2474
- "defined": "ReferralDiscount"
2475
- }
2476
- },
2477
- {
2478
- "name": "makerRebateNumerator",
2479
- "type": "u128"
2480
- },
2481
- {
2482
- "name": "makerRebateDenominator",
2483
- "type": "u128"
2484
- },
2485
- {
2486
- "name": "fillerRewardStructure",
2487
- "type": {
2488
- "defined": "OrderFillerRewardStructure"
2489
- }
2490
- }
2491
- ]
2492
- }
2493
- },
2494
- {
2495
- "name": "DiscountTokenTiers",
2496
- "type": {
2497
- "kind": "struct",
2498
- "fields": [
2499
- {
2500
- "name": "firstTier",
2501
- "type": {
2502
- "defined": "DiscountTokenTier"
2503
- }
2504
- },
2505
- {
2506
- "name": "secondTier",
2507
- "type": {
2508
- "defined": "DiscountTokenTier"
2509
- }
2510
- },
2511
- {
2512
- "name": "thirdTier",
2513
- "type": {
2514
- "defined": "DiscountTokenTier"
2515
- }
2516
- },
2517
- {
2518
- "name": "fourthTier",
2519
- "type": {
2520
- "defined": "DiscountTokenTier"
2521
- }
2522
- }
2523
- ]
2524
- }
2525
- },
2526
- {
2527
- "name": "DiscountTokenTier",
2528
- "type": {
2529
- "kind": "struct",
2530
- "fields": [
2531
- {
2532
- "name": "minimumBalance",
2533
- "type": "u64"
2534
- },
2535
- {
2536
- "name": "discountNumerator",
2537
- "type": "u128"
2538
- },
2539
- {
2540
- "name": "discountDenominator",
2541
- "type": "u128"
2542
- }
2543
- ]
2544
- }
2545
- },
2546
- {
2547
- "name": "ReferralDiscount",
2548
- "type": {
2549
- "kind": "struct",
2550
- "fields": [
2551
- {
2552
- "name": "referrerRewardNumerator",
2553
- "type": "u128"
2554
- },
2555
- {
2556
- "name": "referrerRewardDenominator",
2557
- "type": "u128"
2558
- },
2559
- {
2560
- "name": "refereeDiscountNumerator",
2561
- "type": "u128"
2562
- },
2563
- {
2564
- "name": "refereeDiscountDenominator",
2565
- "type": "u128"
2566
- }
2567
- ]
2568
- }
2569
- },
2570
- {
2571
- "name": "OrderFillerRewardStructure",
2572
- "type": {
2573
- "kind": "struct",
2574
- "fields": [
2575
- {
2576
- "name": "rewardNumerator",
2577
- "type": "u128"
2578
- },
2579
- {
2580
- "name": "rewardDenominator",
2581
- "type": "u128"
2582
- },
2583
- {
2584
- "name": "timeBasedRewardLowerBound",
2585
- "type": "u128"
2586
- }
2587
- ]
2588
- }
2589
- },
2590
- {
2591
- "name": "UserFees",
2592
- "type": {
2593
- "kind": "struct",
2594
- "fields": [
2595
- {
2596
- "name": "totalFeePaid",
2597
- "type": "u64"
2598
- },
2599
- {
2600
- "name": "totalFeeRebate",
2601
- "type": "u64"
2602
- },
2603
- {
2604
- "name": "totalTokenDiscount",
2605
- "type": "u128"
2606
- },
2607
- {
2608
- "name": "totalReferralReward",
2609
- "type": "u128"
2610
- },
2611
- {
2612
- "name": "totalRefereeDiscount",
2613
- "type": "u128"
2614
- }
2615
- ]
2616
- }
2617
- },
2618
- {
2619
- "name": "UserBankBalance",
2620
- "type": {
2621
- "kind": "struct",
2622
- "fields": [
2623
- {
2624
- "name": "bankIndex",
2625
- "type": "u64"
2626
- },
2627
- {
2628
- "name": "balanceType",
2629
- "type": {
2630
- "defined": "BankBalanceType"
2631
- }
2632
- },
2633
- {
2634
- "name": "balance",
2635
- "type": "u128"
2636
- }
2637
- ]
2638
- }
2639
- },
2640
- {
2641
- "name": "MarketPosition",
2642
- "type": {
2643
- "kind": "struct",
2644
- "fields": [
2645
- {
2646
- "name": "marketIndex",
2647
- "type": "u64"
2648
- },
2649
- {
2650
- "name": "baseAssetAmount",
2651
- "type": "i128"
2652
- },
2653
- {
2654
- "name": "quoteAssetAmount",
2655
- "type": "u128"
2656
- },
2657
- {
2658
- "name": "quoteEntryAmount",
2659
- "type": "u128"
2660
- },
2661
- {
2662
- "name": "lastCumulativeFundingRate",
2663
- "type": "i128"
2664
- },
2665
- {
2666
- "name": "lastCumulativeRepegRebate",
2667
- "type": "u128"
2668
- },
2669
- {
2670
- "name": "lastFundingRateTs",
2671
- "type": "i64"
2672
- },
2673
- {
2674
- "name": "openOrders",
2675
- "type": "u128"
2676
- },
2677
- {
2678
- "name": "unsettledPnl",
2679
- "type": "i128"
2680
- },
2681
- {
2682
- "name": "openBids",
2683
- "type": "i128"
2684
- },
2685
- {
2686
- "name": "openAsks",
2687
- "type": "i128"
2688
- },
2689
- {
2690
- "name": "padding0",
2691
- "type": "u128"
2692
- },
2693
- {
2694
- "name": "padding1",
2695
- "type": "u128"
2696
- },
2697
- {
2698
- "name": "padding2",
2699
- "type": "u128"
2700
- },
2701
- {
2702
- "name": "padding3",
2703
- "type": "u128"
2704
- },
2705
- {
2706
- "name": "padding4",
2707
- "type": "u128"
2708
- }
2709
- ]
2710
- }
2711
- },
2712
- {
2713
- "name": "Order",
2714
- "type": {
2715
- "kind": "struct",
2716
- "fields": [
2717
- {
2718
- "name": "status",
2719
- "type": {
2720
- "defined": "OrderStatus"
2721
- }
2722
- },
2723
- {
2724
- "name": "orderType",
2725
- "type": {
2726
- "defined": "OrderType"
2727
- }
2728
- },
2729
- {
2730
- "name": "ts",
2731
- "type": "i64"
2732
- },
2733
- {
2734
- "name": "slot",
2735
- "type": "u64"
2736
- },
2737
- {
2738
- "name": "orderId",
2739
- "type": "u64"
2740
- },
2741
- {
2742
- "name": "userOrderId",
2743
- "type": "u8"
2744
- },
2745
- {
2746
- "name": "marketIndex",
2747
- "type": "u64"
2748
- },
2749
- {
2750
- "name": "price",
2751
- "type": "u128"
2752
- },
2753
- {
2754
- "name": "existingPositionDirection",
2755
- "type": {
2756
- "defined": "PositionDirection"
2757
- }
2758
- },
2759
- {
2760
- "name": "baseAssetAmount",
2761
- "type": "u128"
2762
- },
2763
- {
2764
- "name": "baseAssetAmountFilled",
2765
- "type": "u128"
2766
- },
2767
- {
2768
- "name": "quoteAssetAmountFilled",
2769
- "type": "u128"
2770
- },
2771
- {
2772
- "name": "fee",
2773
- "type": "i128"
2774
- },
2775
- {
2776
- "name": "direction",
2777
- "type": {
2778
- "defined": "PositionDirection"
2779
- }
2780
- },
2781
- {
2782
- "name": "reduceOnly",
2783
- "type": "bool"
2784
- },
2785
- {
2786
- "name": "postOnly",
2787
- "type": "bool"
2788
- },
2789
- {
2790
- "name": "immediateOrCancel",
2791
- "type": "bool"
2792
- },
2793
- {
2794
- "name": "discountTier",
2795
- "type": {
2796
- "defined": "OrderDiscountTier"
2797
- }
2798
- },
2799
- {
2800
- "name": "triggerPrice",
2801
- "type": "u128"
2802
- },
2803
- {
2804
- "name": "triggerCondition",
2805
- "type": {
2806
- "defined": "OrderTriggerCondition"
2807
- }
2808
- },
2809
- {
2810
- "name": "triggered",
2811
- "type": "bool"
2812
- },
2813
- {
2814
- "name": "referrer",
2815
- "type": "publicKey"
2816
- },
2817
- {
2818
- "name": "oraclePriceOffset",
2819
- "type": "i128"
2820
- },
2821
- {
2822
- "name": "auctionStartPrice",
2823
- "type": "u128"
2824
- },
2825
- {
2826
- "name": "auctionEndPrice",
2827
- "type": "u128"
2828
- },
2829
- {
2830
- "name": "auctionDuration",
2831
- "type": "u8"
2832
- },
2833
- {
2834
- "name": "padding",
2835
- "type": {
2836
- "array": [
2837
- "u16",
2838
- 3
2839
- ]
2840
- }
2841
- }
2842
- ]
2843
- }
2844
- },
2845
- {
2846
- "name": "SwapDirection",
2847
- "type": {
2848
- "kind": "enum",
2849
- "variants": [
2850
- {
2851
- "name": "Add"
2852
- },
2853
- {
2854
- "name": "Remove"
2855
- }
2856
- ]
2857
- }
2858
- },
2859
- {
2860
- "name": "PositionDirection",
2861
- "type": {
2862
- "kind": "enum",
2863
- "variants": [
2864
- {
2865
- "name": "Long"
2866
- },
2867
- {
2868
- "name": "Short"
2869
- }
2870
- ]
2871
- }
2872
- },
2873
- {
2874
- "name": "MarginRequirementType",
2875
- "type": {
2876
- "kind": "enum",
2877
- "variants": [
2878
- {
2879
- "name": "Initial"
2880
- },
2881
- {
2882
- "name": "Partial"
2883
- },
2884
- {
2885
- "name": "Maintenance"
2886
- }
2887
- ]
2888
- }
2889
- },
2890
- {
2891
- "name": "LiquidationType",
2892
- "type": {
2893
- "kind": "enum",
2894
- "variants": [
2895
- {
2896
- "name": "NONE"
2897
- },
2898
- {
2899
- "name": "PARTIAL"
2900
- },
2901
- {
2902
- "name": "FULL"
2903
- }
2904
- ]
2905
- }
2906
- },
2907
- {
2908
- "name": "BankBalanceType",
2909
- "type": {
2910
- "kind": "enum",
2911
- "variants": [
2912
- {
2913
- "name": "Deposit"
2914
- },
2915
- {
2916
- "name": "Borrow"
2917
- }
2918
- ]
2919
- }
2920
- },
2921
- {
2922
- "name": "DepositDirection",
2923
- "type": {
2924
- "kind": "enum",
2925
- "variants": [
2926
- {
2927
- "name": "DEPOSIT"
2928
- },
2929
- {
2930
- "name": "WITHDRAW"
2931
- }
2932
- ]
2933
- }
2934
- },
2935
- {
2936
- "name": "OrderAction",
2937
- "type": {
2938
- "kind": "enum",
2939
- "variants": [
2940
- {
2941
- "name": "Place"
2942
- },
2943
- {
2944
- "name": "Cancel"
2945
- },
2946
- {
2947
- "name": "Fill"
2948
- },
2949
- {
2950
- "name": "Trigger"
2951
- },
2952
- {
2953
- "name": "Expire"
2954
- }
2955
- ]
2956
- }
2957
- },
2958
- {
2959
- "name": "OrderActionExplanation",
2960
- "type": {
2961
- "kind": "enum",
2962
- "variants": [
2963
- {
2964
- "name": "None"
2965
- },
2966
- {
2967
- "name": "BreachedMarginRequirement"
2968
- },
2969
- {
2970
- "name": "OraclePriceBreachedLimitPrice"
2971
- },
2972
- {
2973
- "name": "MarketOrderFilledToLimitPrice"
2974
- },
2975
- {
2976
- "name": "MarketOrderAuctionExpired"
2977
- }
2978
- ]
2979
- }
2980
- },
2981
- {
2982
- "name": "FulfillmentMethod",
2983
- "type": {
2984
- "kind": "enum",
2985
- "variants": [
2986
- {
2987
- "name": "AMM"
2988
- },
2989
- {
2990
- "name": "Match"
2991
- }
2992
- ]
2993
- }
2994
- },
2995
- {
2996
- "name": "OracleSource",
2997
- "type": {
2998
- "kind": "enum",
2999
- "variants": [
3000
- {
3001
- "name": "Pyth"
3002
- },
3003
- {
3004
- "name": "Switchboard"
3005
- },
3006
- {
3007
- "name": "QuoteAsset"
3008
- }
3009
- ]
3010
- }
3011
- },
3012
- {
3013
- "name": "OrderStatus",
3014
- "type": {
3015
- "kind": "enum",
3016
- "variants": [
3017
- {
3018
- "name": "Init"
3019
- },
3020
- {
3021
- "name": "Open"
3022
- },
3023
- {
3024
- "name": "Filled"
3025
- },
3026
- {
3027
- "name": "Canceled"
3028
- }
3029
- ]
3030
- }
3031
- },
3032
- {
3033
- "name": "OrderType",
3034
- "type": {
3035
- "kind": "enum",
3036
- "variants": [
3037
- {
3038
- "name": "Market"
3039
- },
3040
- {
3041
- "name": "Limit"
3042
- },
3043
- {
3044
- "name": "TriggerMarket"
3045
- },
3046
- {
3047
- "name": "TriggerLimit"
3048
- }
3049
- ]
3050
- }
3051
- },
3052
- {
3053
- "name": "OrderDiscountTier",
3054
- "type": {
3055
- "kind": "enum",
3056
- "variants": [
3057
- {
3058
- "name": "None"
3059
- },
3060
- {
3061
- "name": "First"
3062
- },
3063
- {
3064
- "name": "Second"
3065
- },
3066
- {
3067
- "name": "Third"
3068
- },
3069
- {
3070
- "name": "Fourth"
3071
- }
3072
- ]
3073
- }
3074
- },
3075
- {
3076
- "name": "OrderTriggerCondition",
3077
- "type": {
3078
- "kind": "enum",
3079
- "variants": [
3080
- {
3081
- "name": "Above"
3082
- },
3083
- {
3084
- "name": "Below"
3085
- }
3086
- ]
3087
- }
3088
- }
3089
- ],
3090
- "events": [
3091
- {
3092
- "name": "DepositRecord",
3093
- "fields": [
3094
- {
3095
- "name": "ts",
3096
- "type": "i64",
3097
- "index": false
3098
- },
3099
- {
3100
- "name": "userAuthority",
3101
- "type": "publicKey",
3102
- "index": false
3103
- },
3104
- {
3105
- "name": "user",
3106
- "type": "publicKey",
3107
- "index": false
3108
- },
3109
- {
3110
- "name": "direction",
3111
- "type": {
3112
- "defined": "DepositDirection"
3113
- },
3114
- "index": false
3115
- },
3116
- {
3117
- "name": "amount",
3118
- "type": "u64",
3119
- "index": false
3120
- },
3121
- {
3122
- "name": "bankIndex",
3123
- "type": "u64",
3124
- "index": false
3125
- },
3126
- {
3127
- "name": "oraclePrice",
3128
- "type": "i128",
3129
- "index": false
3130
- },
3131
- {
3132
- "name": "from",
3133
- "type": {
3134
- "option": "publicKey"
3135
- },
3136
- "index": false
3137
- },
3138
- {
3139
- "name": "to",
3140
- "type": {
3141
- "option": "publicKey"
3142
- },
3143
- "index": false
3144
- }
3145
- ]
3146
- },
3147
- {
3148
- "name": "FundingPaymentRecord",
3149
- "fields": [
3150
- {
3151
- "name": "ts",
3152
- "type": "i64",
3153
- "index": false
3154
- },
3155
- {
3156
- "name": "userAuthority",
3157
- "type": "publicKey",
3158
- "index": false
3159
- },
3160
- {
3161
- "name": "user",
3162
- "type": "publicKey",
3163
- "index": false
3164
- },
3165
- {
3166
- "name": "marketIndex",
3167
- "type": "u64",
3168
- "index": false
3169
- },
3170
- {
3171
- "name": "fundingPayment",
3172
- "type": "i128",
3173
- "index": false
3174
- },
3175
- {
3176
- "name": "baseAssetAmount",
3177
- "type": "i128",
3178
- "index": false
3179
- },
3180
- {
3181
- "name": "userLastCumulativeFunding",
3182
- "type": "i128",
3183
- "index": false
3184
- },
3185
- {
3186
- "name": "userLastFundingRateTs",
3187
- "type": "i64",
3188
- "index": false
3189
- },
3190
- {
3191
- "name": "ammCumulativeFundingLong",
3192
- "type": "i128",
3193
- "index": false
3194
- },
3195
- {
3196
- "name": "ammCumulativeFundingShort",
3197
- "type": "i128",
3198
- "index": false
3199
- }
3200
- ]
3201
- },
3202
- {
3203
- "name": "FundingRateRecord",
3204
- "fields": [
3205
- {
3206
- "name": "ts",
3207
- "type": "i64",
3208
- "index": false
3209
- },
3210
- {
3211
- "name": "recordId",
3212
- "type": "u64",
3213
- "index": false
3214
- },
3215
- {
3216
- "name": "marketIndex",
3217
- "type": "u64",
3218
- "index": false
3219
- },
3220
- {
3221
- "name": "fundingRate",
3222
- "type": "i128",
3223
- "index": false
3224
- },
3225
- {
3226
- "name": "cumulativeFundingRateLong",
3227
- "type": "i128",
3228
- "index": false
3229
- },
3230
- {
3231
- "name": "cumulativeFundingRateShort",
3232
- "type": "i128",
3233
- "index": false
3234
- },
3235
- {
3236
- "name": "oraclePriceTwap",
3237
- "type": "i128",
3238
- "index": false
3239
- },
3240
- {
3241
- "name": "markPriceTwap",
3242
- "type": "u128",
3243
- "index": false
3244
- }
3245
- ]
3246
- },
3247
- {
3248
- "name": "CurveRecord",
3249
- "fields": [
3250
- {
3251
- "name": "ts",
3252
- "type": "i64",
3253
- "index": false
3254
- },
3255
- {
3256
- "name": "recordId",
3257
- "type": "u64",
3258
- "index": false
3259
- },
3260
- {
3261
- "name": "marketIndex",
3262
- "type": "u64",
3263
- "index": false
3264
- },
3265
- {
3266
- "name": "pegMultiplierBefore",
3267
- "type": "u128",
3268
- "index": false
3269
- },
3270
- {
3271
- "name": "baseAssetReserveBefore",
3272
- "type": "u128",
3273
- "index": false
3274
- },
3275
- {
3276
- "name": "quoteAssetReserveBefore",
3277
- "type": "u128",
3278
- "index": false
3279
- },
3280
- {
3281
- "name": "sqrtKBefore",
3282
- "type": "u128",
3283
- "index": false
3284
- },
3285
- {
3286
- "name": "pegMultiplierAfter",
3287
- "type": "u128",
3288
- "index": false
3289
- },
3290
- {
3291
- "name": "baseAssetReserveAfter",
3292
- "type": "u128",
3293
- "index": false
3294
- },
3295
- {
3296
- "name": "quoteAssetReserveAfter",
3297
- "type": "u128",
3298
- "index": false
3299
- },
3300
- {
3301
- "name": "sqrtKAfter",
3302
- "type": "u128",
3303
- "index": false
3304
- },
3305
- {
3306
- "name": "baseAssetAmountLong",
3307
- "type": "u128",
3308
- "index": false
3309
- },
3310
- {
3311
- "name": "baseAssetAmountShort",
3312
- "type": "u128",
3313
- "index": false
3314
- },
3315
- {
3316
- "name": "netBaseAssetAmount",
3317
- "type": "i128",
3318
- "index": false
3319
- },
3320
- {
3321
- "name": "openInterest",
3322
- "type": "u128",
3323
- "index": false
3324
- },
3325
- {
3326
- "name": "totalFee",
3327
- "type": "u128",
3328
- "index": false
3329
- },
3330
- {
3331
- "name": "totalFeeMinusDistributions",
3332
- "type": "i128",
3333
- "index": false
3334
- },
3335
- {
3336
- "name": "adjustmentCost",
3337
- "type": "i128",
3338
- "index": false
3339
- },
3340
- {
3341
- "name": "oraclePrice",
3342
- "type": "i128",
3343
- "index": false
3344
- },
3345
- {
3346
- "name": "fillRecord",
3347
- "type": "u128",
3348
- "index": false
3349
- }
3350
- ]
3351
- },
3352
- {
3353
- "name": "LiquidationRecord",
3354
- "fields": [
3355
- {
3356
- "name": "ts",
3357
- "type": "i64",
3358
- "index": false
3359
- },
3360
- {
3361
- "name": "userAuthority",
3362
- "type": "publicKey",
3363
- "index": false
3364
- },
3365
- {
3366
- "name": "user",
3367
- "type": "publicKey",
3368
- "index": false
3369
- },
3370
- {
3371
- "name": "partial",
3372
- "type": "bool",
3373
- "index": false
3374
- },
3375
- {
3376
- "name": "baseAssetValue",
3377
- "type": "u128",
3378
- "index": false
3379
- },
3380
- {
3381
- "name": "baseAssetValueClosed",
3382
- "type": "u128",
3383
- "index": false
3384
- },
3385
- {
3386
- "name": "liquidationFee",
3387
- "type": "u128",
3388
- "index": false
3389
- },
3390
- {
3391
- "name": "feeToLiquidator",
3392
- "type": "u64",
3393
- "index": false
3394
- },
3395
- {
3396
- "name": "feeToInsuranceFund",
3397
- "type": "u64",
3398
- "index": false
3399
- },
3400
- {
3401
- "name": "liquidator",
3402
- "type": "publicKey",
3403
- "index": false
3404
- },
3405
- {
3406
- "name": "totalCollateral",
3407
- "type": "u128",
3408
- "index": false
3409
- },
3410
- {
3411
- "name": "collateral",
3412
- "type": "u128",
3413
- "index": false
3414
- },
3415
- {
3416
- "name": "unrealizedPnl",
3417
- "type": "i128",
3418
- "index": false
3419
- },
3420
- {
3421
- "name": "marginRatio",
3422
- "type": "u128",
3423
- "index": false
3424
- }
3425
- ]
3426
- },
3427
- {
3428
- "name": "OrderRecord",
3429
- "fields": [
3430
- {
3431
- "name": "ts",
3432
- "type": "i64",
3433
- "index": false
3434
- },
3435
- {
3436
- "name": "slot",
3437
- "type": "u64",
3438
- "index": false
3439
- },
3440
- {
3441
- "name": "taker",
3442
- "type": "publicKey",
3443
- "index": false
3444
- },
3445
- {
3446
- "name": "maker",
3447
- "type": "publicKey",
3448
- "index": false
3449
- },
3450
- {
3451
- "name": "takerOrder",
3452
- "type": {
3453
- "defined": "Order"
3454
- },
3455
- "index": false
3456
- },
3457
- {
3458
- "name": "makerOrder",
3459
- "type": {
3460
- "defined": "Order"
3461
- },
3462
- "index": false
3463
- },
3464
- {
3465
- "name": "makerUnsettledPnl",
3466
- "type": "i128",
3467
- "index": false
3468
- },
3469
- {
3470
- "name": "takerUnsettledPnl",
3471
- "type": "i128",
3472
- "index": false
3473
- },
3474
- {
3475
- "name": "action",
3476
- "type": {
3477
- "defined": "OrderAction"
3478
- },
3479
- "index": false
3480
- },
3481
- {
3482
- "name": "actionExplanation",
3483
- "type": {
3484
- "defined": "OrderActionExplanation"
3485
- },
3486
- "index": false
3487
- },
3488
- {
3489
- "name": "filler",
3490
- "type": "publicKey",
3491
- "index": false
3492
- },
3493
- {
3494
- "name": "fillRecordId",
3495
- "type": "u64",
3496
- "index": false
3497
- },
3498
- {
3499
- "name": "marketIndex",
3500
- "type": "u64",
3501
- "index": false
3502
- },
3503
- {
3504
- "name": "baseAssetAmountFilled",
3505
- "type": "u128",
3506
- "index": false
3507
- },
3508
- {
3509
- "name": "quoteAssetAmountFilled",
3510
- "type": "u128",
3511
- "index": false
3512
- },
3513
- {
3514
- "name": "makerRebate",
3515
- "type": "u128",
3516
- "index": false
3517
- },
3518
- {
3519
- "name": "takerFee",
3520
- "type": "u128",
3521
- "index": false
3522
- },
3523
- {
3524
- "name": "fillerReward",
3525
- "type": "u128",
3526
- "index": false
3527
- },
3528
- {
3529
- "name": "quoteAssetAmountSurplus",
3530
- "type": "u128",
3531
- "index": false
3532
- },
3533
- {
3534
- "name": "oraclePrice",
3535
- "type": "i128",
3536
- "index": false
3537
- }
3538
- ]
3539
- }
3540
- ],
3541
- "errors": [
3542
- {
3543
- "code": 6000,
3544
- "name": "InvalidBankAuthority",
3545
- "msg": "Invalid Bank Authority"
3546
- },
3547
- {
3548
- "code": 6001,
3549
- "name": "InvalidInsuranceAccountAuthority",
3550
- "msg": "Clearing house not insurance account owner"
3551
- },
3552
- {
3553
- "code": 6002,
3554
- "name": "InsufficientDeposit",
3555
- "msg": "Insufficient deposit"
3556
- },
3557
- {
3558
- "code": 6003,
3559
- "name": "InsufficientCollateral",
3560
- "msg": "Insufficient collateral"
3561
- },
3562
- {
3563
- "code": 6004,
3564
- "name": "SufficientCollateral",
3565
- "msg": "Sufficient collateral"
3566
- },
3567
- {
3568
- "code": 6005,
3569
- "name": "MaxNumberOfPositions",
3570
- "msg": "Max number of positions taken"
3571
- },
3572
- {
3573
- "code": 6006,
3574
- "name": "AdminControlsPricesDisabled",
3575
- "msg": "Admin Controls Prices Disabled"
3576
- },
3577
- {
3578
- "code": 6007,
3579
- "name": "MarketIndexNotInitialized",
3580
- "msg": "Market Index Not Initialized"
3581
- },
3582
- {
3583
- "code": 6008,
3584
- "name": "MarketIndexAlreadyInitialized",
3585
- "msg": "Market Index Already Initialized"
3586
- },
3587
- {
3588
- "code": 6009,
3589
- "name": "UserAccountAndUserPositionsAccountMismatch",
3590
- "msg": "User Account And User Positions Account Mismatch"
3591
- },
3592
- {
3593
- "code": 6010,
3594
- "name": "UserHasNoPositionInMarket",
3595
- "msg": "User Has No Position In Market"
3596
- },
3597
- {
3598
- "code": 6011,
3599
- "name": "InvalidInitialPeg",
3600
- "msg": "Invalid Initial Peg"
3601
- },
3602
- {
3603
- "code": 6012,
3604
- "name": "InvalidRepegRedundant",
3605
- "msg": "AMM repeg already configured with amt given"
3606
- },
3607
- {
3608
- "code": 6013,
3609
- "name": "InvalidRepegDirection",
3610
- "msg": "AMM repeg incorrect repeg direction"
3611
- },
3612
- {
3613
- "code": 6014,
3614
- "name": "InvalidRepegProfitability",
3615
- "msg": "AMM repeg out of bounds pnl"
3616
- },
3617
- {
3618
- "code": 6015,
3619
- "name": "SlippageOutsideLimit",
3620
- "msg": "Slippage Outside Limit Price"
3621
- },
3622
- {
3623
- "code": 6016,
3624
- "name": "TradeSizeTooSmall",
3625
- "msg": "Trade Size Too Small"
3626
- },
3627
- {
3628
- "code": 6017,
3629
- "name": "InvalidUpdateK",
3630
- "msg": "Price change too large when updating K"
3631
- },
3632
- {
3633
- "code": 6018,
3634
- "name": "AdminWithdrawTooLarge",
3635
- "msg": "Admin tried to withdraw amount larger than fees collected"
3636
- },
3637
- {
3638
- "code": 6019,
3639
- "name": "MathError",
3640
- "msg": "Math Error"
3641
- },
3642
- {
3643
- "code": 6020,
3644
- "name": "BnConversionError",
3645
- "msg": "Conversion to u128/u64 failed with an overflow or underflow"
3646
- },
3647
- {
3648
- "code": 6021,
3649
- "name": "ClockUnavailable",
3650
- "msg": "Clock unavailable"
3651
- },
3652
- {
3653
- "code": 6022,
3654
- "name": "UnableToLoadOracle",
3655
- "msg": "Unable To Load Oracles"
3656
- },
3657
- {
3658
- "code": 6023,
3659
- "name": "OracleMarkSpreadLimit",
3660
- "msg": "Oracle/Mark Spread Too Large"
3661
- },
3662
- {
3663
- "code": 6024,
3664
- "name": "ExchangePaused",
3665
- "msg": "Exchange is paused"
3666
- },
3667
- {
3668
- "code": 6025,
3669
- "name": "InvalidWhitelistToken",
3670
- "msg": "Invalid whitelist token"
3671
- },
3672
- {
3673
- "code": 6026,
3674
- "name": "WhitelistTokenNotFound",
3675
- "msg": "Whitelist token not found"
3676
- },
3677
- {
3678
- "code": 6027,
3679
- "name": "InvalidDiscountToken",
3680
- "msg": "Invalid discount token"
3681
- },
3682
- {
3683
- "code": 6028,
3684
- "name": "DiscountTokenNotFound",
3685
- "msg": "Discount token not found"
3686
- },
3687
- {
3688
- "code": 6029,
3689
- "name": "InvalidReferrer",
3690
- "msg": "Invalid referrer"
3691
- },
3692
- {
3693
- "code": 6030,
3694
- "name": "ReferrerNotFound",
3695
- "msg": "Referrer not found"
3696
- },
3697
- {
3698
- "code": 6031,
3699
- "name": "InvalidOracle",
3700
- "msg": "InvalidOracle"
3701
- },
3702
- {
3703
- "code": 6032,
3704
- "name": "OracleNotFound",
3705
- "msg": "OracleNotFound"
3706
- },
3707
- {
3708
- "code": 6033,
3709
- "name": "LiquidationsBlockedByOracle",
3710
- "msg": "Liquidations Blocked By Oracle"
3711
- },
3712
- {
3713
- "code": 6034,
3714
- "name": "UserMaxDeposit",
3715
- "msg": "Can not deposit more than max deposit"
3716
- },
3717
- {
3718
- "code": 6035,
3719
- "name": "CantDeleteUserWithCollateral",
3720
- "msg": "Can not delete user that still has collateral"
3721
- },
3722
- {
3723
- "code": 6036,
3724
- "name": "InvalidFundingProfitability",
3725
- "msg": "AMM funding out of bounds pnl"
3726
- },
3727
- {
3728
- "code": 6037,
3729
- "name": "CastingFailure",
3730
- "msg": "Casting Failure"
3731
- },
3732
- {
3733
- "code": 6038,
3734
- "name": "InvalidOrder",
3735
- "msg": "Invalid Order"
3736
- },
3737
- {
3738
- "code": 6039,
3739
- "name": "UserHasNoOrder",
3740
- "msg": "User has no order"
3741
- },
3742
- {
3743
- "code": 6040,
3744
- "name": "OrderAmountTooSmall",
3745
- "msg": "Order Amount Too Small"
3746
- },
3747
- {
3748
- "code": 6041,
3749
- "name": "MaxNumberOfOrders",
3750
- "msg": "Max number of orders taken"
3751
- },
3752
- {
3753
- "code": 6042,
3754
- "name": "OrderDoesNotExist",
3755
- "msg": "Order does not exist"
3756
- },
3757
- {
3758
- "code": 6043,
3759
- "name": "OrderNotOpen",
3760
- "msg": "Order not open"
3761
- },
3762
- {
3763
- "code": 6044,
3764
- "name": "FillOrderDidNotUpdateState",
3765
- "msg": "FillOrderDidNotUpdateState"
3766
- },
3767
- {
3768
- "code": 6045,
3769
- "name": "ReduceOnlyOrderIncreasedRisk",
3770
- "msg": "Reduce only order increased risk"
3771
- },
3772
- {
3773
- "code": 6046,
3774
- "name": "UnableToLoadAccountLoader",
3775
- "msg": "Unable to load AccountLoader"
3776
- },
3777
- {
3778
- "code": 6047,
3779
- "name": "TradeSizeTooLarge",
3780
- "msg": "Trade Size Too Large"
3781
- },
3782
- {
3783
- "code": 6048,
3784
- "name": "UserCantReferThemselves",
3785
- "msg": "User cant refer themselves"
3786
- },
3787
- {
3788
- "code": 6049,
3789
- "name": "DidNotReceiveExpectedReferrer",
3790
- "msg": "Did not receive expected referrer"
3791
- },
3792
- {
3793
- "code": 6050,
3794
- "name": "CouldNotDeserializeReferrer",
3795
- "msg": "Could not deserialize referrer"
3796
- },
3797
- {
3798
- "code": 6051,
3799
- "name": "UserOrderIdAlreadyInUse",
3800
- "msg": "User Order Id Already In Use"
3801
- },
3802
- {
3803
- "code": 6052,
3804
- "name": "NoPositionsLiquidatable",
3805
- "msg": "No positions liquidatable"
3806
- },
3807
- {
3808
- "code": 6053,
3809
- "name": "InvalidMarginRatio",
3810
- "msg": "Invalid Margin Ratio"
3811
- },
3812
- {
3813
- "code": 6054,
3814
- "name": "CantCancelPostOnlyOrder",
3815
- "msg": "Cant Cancel Post Only Order"
3816
- },
3817
- {
3818
- "code": 6055,
3819
- "name": "InvalidOracleOffset",
3820
- "msg": "InvalidOracleOffset"
3821
- },
3822
- {
3823
- "code": 6056,
3824
- "name": "CantExpireOrders",
3825
- "msg": "CantExpireOrders"
3826
- },
3827
- {
3828
- "code": 6057,
3829
- "name": "CouldNotLoadMarketData",
3830
- "msg": "CouldNotLoadMarketData"
3831
- },
3832
- {
3833
- "code": 6058,
3834
- "name": "MarketNotFound",
3835
- "msg": "MarketNotFound"
3836
- },
3837
- {
3838
- "code": 6059,
3839
- "name": "InvalidMarketAccount",
3840
- "msg": "InvalidMarketAccount"
3841
- },
3842
- {
3843
- "code": 6060,
3844
- "name": "UnableToLoadMarketAccount",
3845
- "msg": "UnableToLoadMarketAccount"
3846
- },
3847
- {
3848
- "code": 6061,
3849
- "name": "MarketWrongMutability",
3850
- "msg": "MarketWrongMutability"
3851
- },
3852
- {
3853
- "code": 6062,
3854
- "name": "UnableToCastUnixTime",
3855
- "msg": "UnableToCastUnixTime"
3856
- },
3857
- {
3858
- "code": 6063,
3859
- "name": "CouldNotFindBankBalance",
3860
- "msg": "CouldNotFindBankBalance"
3861
- },
3862
- {
3863
- "code": 6064,
3864
- "name": "NoUserBankBalanceAvailable",
3865
- "msg": "NoUserBankBalanceAvailable"
3866
- },
3867
- {
3868
- "code": 6065,
3869
- "name": "InvalidBankInitialization",
3870
- "msg": "InvalidBankInitialization"
3871
- },
3872
- {
3873
- "code": 6066,
3874
- "name": "CouldNotLoadBankData",
3875
- "msg": "CouldNotLoadBankData"
3876
- },
3877
- {
3878
- "code": 6067,
3879
- "name": "BankNotFound",
3880
- "msg": "BankNotFound"
3881
- },
3882
- {
3883
- "code": 6068,
3884
- "name": "InvalidBankAccount",
3885
- "msg": "InvalidBankAccount"
3886
- },
3887
- {
3888
- "code": 6069,
3889
- "name": "UnableToLoadBankAccount",
3890
- "msg": "UnableToLoadBankAccount"
3891
- },
3892
- {
3893
- "code": 6070,
3894
- "name": "BankWrongMutability",
3895
- "msg": "BankWrongMutability"
3896
- },
3897
- {
3898
- "code": 6071,
3899
- "name": "BankInterestNotUpToDate",
3900
- "msg": "BankInterestNotUpToDate"
3901
- },
3902
- {
3903
- "code": 6072,
3904
- "name": "BankInsufficientDeposits",
3905
- "msg": "BankInsufficientDeposits"
3906
- },
3907
- {
3908
- "code": 6073,
3909
- "name": "UserMustSettleTheirOwnPositiveUnsettledPNL",
3910
- "msg": "UserMustSettleTheirOwnPositiveUnsettledPNL"
3911
- },
3912
- {
3913
- "code": 6074,
3914
- "name": "CantUpdatePoolBalanceType",
3915
- "msg": "CantUpdatePoolBalanceType"
3916
- },
3917
- {
3918
- "code": 6075,
3919
- "name": "InsufficientCollateralForSettlingPNL",
3920
- "msg": "InsufficientCollateralForSettlingPNL"
3921
- },
3922
- {
3923
- "code": 6076,
3924
- "name": "AMMNotUpdatedInSameSlot",
3925
- "msg": "AMMNotUpdatedInSameSlot"
3926
- },
3927
- {
3928
- "code": 6077,
3929
- "name": "AuctionNotComplete",
3930
- "msg": "AuctionNotComplete"
3931
- },
3932
- {
3933
- "code": 6078,
3934
- "name": "MakerNotFound",
3935
- "msg": "MakerNotFound"
3936
- },
3937
- {
3938
- "code": 6079,
3939
- "name": "MakerMustBeWritable",
3940
- "msg": "MakerMustBeWritable"
3941
- },
3942
- {
3943
- "code": 6080,
3944
- "name": "MakerOrderNotFound",
3945
- "msg": "MakerOrderNotFound"
3946
- },
3947
- {
3948
- "code": 6081,
3949
- "name": "CouldNotDeserializeMaker",
3950
- "msg": "CouldNotDeserializeMaker"
3951
- },
3952
- {
3953
- "code": 6082,
3954
- "name": "AuctionPriceDoesNotSatisfyMaker",
3955
- "msg": "AuctionPriceDoesNotSatisfyMaker"
3956
- },
3957
- {
3958
- "code": 6083,
3959
- "name": "MakerCantFulfillOwnOrder",
3960
- "msg": "MakerCantFulfillOwnOrder"
3961
- },
3962
- {
3963
- "code": 6084,
3964
- "name": "MakerOrderMustBePostOnly",
3965
- "msg": "MakerOrderMustBePostOnly"
3966
- },
3967
- {
3968
- "code": 6085,
3969
- "name": "CantMatchTwoPostOnlys",
3970
- "msg": "CantMatchTwoPostOnlys"
3971
- },
3972
- {
3973
- "code": 6086,
3974
- "name": "OrderBreachesOraclePriceLimits",
3975
- "msg": "OrderBreachesOraclePriceLimits"
3976
- },
3977
- {
3978
- "code": 6087,
3979
- "name": "OrderMustBeTriggeredFirst",
3980
- "msg": "OrderMustBeTriggeredFirst"
3981
- },
3982
- {
3983
- "code": 6088,
3984
- "name": "OrderNotTriggerable",
3985
- "msg": "OrderNotTriggerable"
3986
- },
3987
- {
3988
- "code": 6089,
3989
- "name": "OrderDidNotSatisfyTriggerCondition",
3990
- "msg": "OrderDidNotSatisfyTriggerCondition"
3991
- },
3992
- {
3993
- "code": 6090,
3994
- "name": "DefaultError",
3995
- "msg": "DefaultError"
3996
- }
3997
- ]
3998
- }