@drift-labs/sdk 0.2.0-temp.2 → 2.0.0

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