@drift-labs/sdk 2.14.0-beta.0 → 2.15.0-beta.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.
- package/lib/accounts/bulkAccountLoader.d.ts +0 -1
- package/lib/accounts/bulkAccountLoader.js +3 -3
- package/lib/accounts/fetch.js +2 -2
- package/lib/accounts/pollingDriftClientAccountSubscriber.js +7 -7
- package/lib/accounts/pollingTokenAccountSubscriber.js +2 -2
- package/lib/accounts/pollingUserAccountSubscriber.js +2 -2
- package/lib/accounts/pollingUserStatsAccountSubscriber.js +2 -2
- package/lib/accounts/types.d.ts +0 -1
- package/lib/accounts/webSocketAccountSubscriber.js +1 -1
- package/lib/accounts/webSocketDriftClientAccountSubscriber.js +3 -3
- package/lib/addresses/marketAddresses.js +1 -1
- package/lib/addresses/pda.js +1 -5
- package/lib/adminClient.js +57 -61
- package/lib/constants/numericConstants.d.ts +1 -0
- package/lib/constants/numericConstants.js +3 -2
- package/lib/constants/perpMarkets.js +10 -0
- package/lib/dlob/DLOB.js +68 -68
- package/lib/dlob/DLOBNode.js +7 -7
- package/lib/dlob/NodeList.js +2 -2
- package/lib/driftClient.js +81 -85
- package/lib/events/eventSubscriber.js +2 -2
- package/lib/events/pollingLogProvider.js +1 -1
- package/lib/examples/loadDlob.js +2 -2
- package/lib/examples/makeTradeExample.js +9 -9
- package/lib/factory/bigNum.js +9 -9
- package/lib/factory/oracleClient.js +2 -2
- package/lib/idl/drift.json +1 -1
- package/lib/index.js +1 -5
- package/lib/math/amm.js +23 -23
- package/lib/math/auction.js +6 -6
- package/lib/math/exchangeStatus.js +2 -2
- package/lib/math/funding.js +2 -2
- package/lib/math/margin.js +5 -5
- package/lib/math/market.js +13 -13
- package/lib/math/oracles.js +1 -1
- package/lib/math/orders.js +23 -23
- package/lib/math/position.js +5 -5
- package/lib/math/repeg.js +1 -1
- package/lib/math/spotBalance.js +8 -8
- package/lib/math/spotPosition.js +3 -3
- package/lib/math/trade.js +42 -42
- package/lib/oracles/oracleClientCache.js +1 -1
- package/lib/oracles/pythClient.js +1 -1
- package/lib/tokenFaucet.js +1 -5
- package/lib/tx/retryTxSender.js +1 -1
- package/lib/user.js +52 -52
- package/lib/userMap/userMap.js +1 -1
- package/lib/userMap/userStatsMap.js +3 -3
- package/lib/userStats.js +2 -2
- package/package.json +1 -1
- package/src/assert/assert.js +9 -0
- package/src/constants/numericConstants.ts +1 -0
- package/src/constants/perpMarkets.ts +10 -0
- package/src/dlob/DLOB.ts +1 -1
- package/src/idl/drift.json +1 -1
- package/src/token/index.js +38 -0
- package/src/tx/types.js +2 -0
- package/src/tx/utils.js +17 -0
- package/src/user.ts +2 -1
- package/src/util/computeUnits.js +27 -0
- package/src/util/getTokenAddress.js +9 -0
- package/src/util/promiseTimeout.js +14 -0
- package/src/util/tps.js +27 -0
package/lib/adminClient.js
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
9
5
|
}) : (function(o, m, k, k2) {
|
|
10
6
|
if (k2 === undefined) k2 = k;
|
|
11
7
|
o[k2] = m[k];
|
|
@@ -42,7 +38,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
42
38
|
if (stateAccountRPCResponse.value !== null) {
|
|
43
39
|
throw new Error('Clearing house already initialized');
|
|
44
40
|
}
|
|
45
|
-
const [driftStatePublicKey] = await
|
|
41
|
+
const [driftStatePublicKey] = await pda_1.getDriftStateAccountPublicKeyAndNonce(this.program.programId);
|
|
46
42
|
const initializeTx = await this.program.transaction.initialize({
|
|
47
43
|
accounts: {
|
|
48
44
|
admin: this.wallet.publicKey,
|
|
@@ -59,10 +55,10 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
59
55
|
}
|
|
60
56
|
async initializeSpotMarket(mint, optimalUtilization, optimalRate, maxRate, oracle, oracleSource, initialAssetWeight, maintenanceAssetWeight, initialLiabilityWeight, maintenanceLiabilityWeight, imfFactor = 0, liquidatorFee = 0, activeStatus = true, name = userName_1.DEFAULT_MARKET_NAME) {
|
|
61
57
|
const spotMarketIndex = this.getStateAccount().numberOfSpotMarkets;
|
|
62
|
-
const spotMarket = await
|
|
63
|
-
const spotMarketVault = await
|
|
64
|
-
const insuranceFundVault = await
|
|
65
|
-
const nameBuffer =
|
|
58
|
+
const spotMarket = await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex);
|
|
59
|
+
const spotMarketVault = await pda_1.getSpotMarketVaultPublicKey(this.program.programId, spotMarketIndex);
|
|
60
|
+
const insuranceFundVault = await pda_1.getInsuranceFundVaultPublicKey(this.program.programId, spotMarketIndex);
|
|
61
|
+
const nameBuffer = userName_1.encodeName(name);
|
|
66
62
|
const initializeTx = await this.program.transaction.initializeSpotMarket(optimalUtilization, optimalRate, maxRate, oracleSource, initialAssetWeight, maintenanceAssetWeight, initialLiabilityWeight, maintenanceLiabilityWeight, imfFactor, liquidatorFee, activeStatus, nameBuffer, {
|
|
67
63
|
accounts: {
|
|
68
64
|
admin: this.wallet.publicKey,
|
|
@@ -87,8 +83,8 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
87
83
|
return txSig;
|
|
88
84
|
}
|
|
89
85
|
async initializeSerumFulfillmentConfig(marketIndex, serumMarket, serumProgram) {
|
|
90
|
-
const serumOpenOrders =
|
|
91
|
-
const serumFulfillmentConfig =
|
|
86
|
+
const serumOpenOrders = pda_1.getSerumOpenOrdersPublicKey(this.program.programId, serumMarket);
|
|
87
|
+
const serumFulfillmentConfig = pda_1.getSerumFulfillmentConfigPublicKey(this.program.programId, serumMarket);
|
|
92
88
|
const tx = await this.program.transaction.initializeSerumFulfillmentConfig(marketIndex, {
|
|
93
89
|
accounts: {
|
|
94
90
|
admin: this.wallet.publicKey,
|
|
@@ -109,8 +105,8 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
109
105
|
}
|
|
110
106
|
async initializePerpMarket(priceOracle, baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier = numericConstants_1.PEG_PRECISION, oracleSource = types_1.OracleSource.PYTH, marginRatioInitial = 2000, marginRatioMaintenance = 500, liquidatorFee = 0, activeStatus = true, name = userName_1.DEFAULT_MARKET_NAME) {
|
|
111
107
|
const currentPerpMarketIndex = this.getStateAccount().numberOfMarkets;
|
|
112
|
-
const perpMarketPublicKey = await
|
|
113
|
-
const nameBuffer =
|
|
108
|
+
const perpMarketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, currentPerpMarketIndex);
|
|
109
|
+
const nameBuffer = userName_1.encodeName(name);
|
|
114
110
|
const initializeMarketTx = await this.program.transaction.initializePerpMarket(baseAssetReserve, quoteAssetReserve, periodicity, pegMultiplier, oracleSource, marginRatioInitial, marginRatioMaintenance, liquidatorFee, activeStatus, nameBuffer, {
|
|
115
111
|
accounts: {
|
|
116
112
|
state: await this.getStatePublicKey(),
|
|
@@ -133,9 +129,9 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
133
129
|
return txSig;
|
|
134
130
|
}
|
|
135
131
|
async moveAmmPrice(perpMarketIndex, baseAssetReserve, quoteAssetReserve, sqrtK) {
|
|
136
|
-
const marketPublicKey = await
|
|
132
|
+
const marketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
|
|
137
133
|
if (sqrtK == undefined) {
|
|
138
|
-
sqrtK =
|
|
134
|
+
sqrtK = utils_1.squareRootBN(baseAssetReserve.mul(quoteAssetReserve));
|
|
139
135
|
}
|
|
140
136
|
const tx = await this.program.transaction.moveAmmPrice(baseAssetReserve, quoteAssetReserve, sqrtK, {
|
|
141
137
|
accounts: {
|
|
@@ -152,7 +148,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
152
148
|
accounts: {
|
|
153
149
|
state: await this.getStatePublicKey(),
|
|
154
150
|
admin: this.wallet.publicKey,
|
|
155
|
-
perpMarket: await
|
|
151
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
156
152
|
oracle: this.getPerpMarketAccount(perpMarketIndex).amm.oracle,
|
|
157
153
|
},
|
|
158
154
|
});
|
|
@@ -164,16 +160,16 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
164
160
|
accounts: {
|
|
165
161
|
state: await this.getStatePublicKey(),
|
|
166
162
|
admin: this.wallet.publicKey,
|
|
167
|
-
perpMarket: await
|
|
163
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
168
164
|
},
|
|
169
165
|
});
|
|
170
166
|
}
|
|
171
167
|
async moveAmmToPrice(perpMarketIndex, targetPrice) {
|
|
172
168
|
const perpMarket = this.getPerpMarketAccount(perpMarketIndex);
|
|
173
|
-
const [direction, tradeSize, _] =
|
|
169
|
+
const [direction, tradeSize, _] = trade_1.calculateTargetPriceTrade(perpMarket, targetPrice, new anchor_1.BN(1000), 'quote', undefined //todo
|
|
174
170
|
);
|
|
175
|
-
const [newQuoteAssetAmount, newBaseAssetAmount] =
|
|
176
|
-
const perpMarketPublicKey = await
|
|
171
|
+
const [newQuoteAssetAmount, newBaseAssetAmount] = amm_1.calculateAmmReservesAfterSwap(perpMarket.amm, 'quote', tradeSize, amm_1.getSwapDirection('quote', direction));
|
|
172
|
+
const perpMarketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
|
|
177
173
|
const tx = await this.program.transaction.moveAmmPrice(newBaseAssetAmount, newQuoteAssetAmount, perpMarket.amm.sqrtK, {
|
|
178
174
|
accounts: {
|
|
179
175
|
state: await this.getStatePublicKey(),
|
|
@@ -185,7 +181,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
185
181
|
return txSig;
|
|
186
182
|
}
|
|
187
183
|
async repegAmmCurve(newPeg, perpMarketIndex) {
|
|
188
|
-
const perpMarketPublicKey = await
|
|
184
|
+
const perpMarketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
|
|
189
185
|
const ammData = this.getPerpMarketAccount(perpMarketIndex).amm;
|
|
190
186
|
const tx = await this.program.transaction.repegAmmCurve(newPeg, {
|
|
191
187
|
accounts: {
|
|
@@ -200,7 +196,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
200
196
|
}
|
|
201
197
|
async updatePerpMarketAmmOracleTwap(perpMarketIndex) {
|
|
202
198
|
const ammData = this.getPerpMarketAccount(perpMarketIndex).amm;
|
|
203
|
-
const perpMarketPublicKey = await
|
|
199
|
+
const perpMarketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
|
|
204
200
|
return await this.program.rpc.updatePerpMarketAmmOracleTwap({
|
|
205
201
|
accounts: {
|
|
206
202
|
state: await this.getStatePublicKey(),
|
|
@@ -212,7 +208,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
212
208
|
}
|
|
213
209
|
async resetPerpMarketAmmOracleTwap(perpMarketIndex) {
|
|
214
210
|
const ammData = this.getPerpMarketAccount(perpMarketIndex).amm;
|
|
215
|
-
const perpMarketPublicKey = await
|
|
211
|
+
const perpMarketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
|
|
216
212
|
return await this.program.rpc.resetPerpMarketAmmOracleTwap({
|
|
217
213
|
accounts: {
|
|
218
214
|
state: await this.getStatePublicKey(),
|
|
@@ -228,7 +224,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
228
224
|
accounts: {
|
|
229
225
|
admin: this.wallet.publicKey,
|
|
230
226
|
state: await this.getStatePublicKey(),
|
|
231
|
-
perpMarket: await
|
|
227
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
232
228
|
sourceVault,
|
|
233
229
|
driftSigner: this.getSignerPublicKey(),
|
|
234
230
|
quoteSpotMarket: spotMarket.pubkey,
|
|
@@ -256,7 +252,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
256
252
|
accounts: {
|
|
257
253
|
admin: this.wallet.publicKey,
|
|
258
254
|
state: await this.getStatePublicKey(),
|
|
259
|
-
perpMarket: await
|
|
255
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
260
256
|
},
|
|
261
257
|
});
|
|
262
258
|
}
|
|
@@ -265,7 +261,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
265
261
|
accounts: {
|
|
266
262
|
admin: this.wallet.publicKey,
|
|
267
263
|
state: await this.getStatePublicKey(),
|
|
268
|
-
perpMarket: await
|
|
264
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
269
265
|
},
|
|
270
266
|
});
|
|
271
267
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -276,7 +272,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
276
272
|
accounts: {
|
|
277
273
|
admin: this.wallet.publicKey,
|
|
278
274
|
state: await this.getStatePublicKey(),
|
|
279
|
-
perpMarket: await
|
|
275
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
280
276
|
},
|
|
281
277
|
});
|
|
282
278
|
}
|
|
@@ -285,7 +281,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
285
281
|
accounts: {
|
|
286
282
|
admin: this.wallet.publicKey,
|
|
287
283
|
state: await this.getStatePublicKey(),
|
|
288
|
-
perpMarket: await
|
|
284
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
289
285
|
},
|
|
290
286
|
});
|
|
291
287
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -296,36 +292,36 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
296
292
|
accounts: {
|
|
297
293
|
admin: this.wallet.publicKey,
|
|
298
294
|
state: await this.getStatePublicKey(),
|
|
299
|
-
perpMarket: await
|
|
295
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
300
296
|
},
|
|
301
297
|
});
|
|
302
298
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
303
299
|
return txSig;
|
|
304
300
|
}
|
|
305
301
|
async updatePerpMarketName(perpMarketIndex, name) {
|
|
306
|
-
const nameBuffer =
|
|
302
|
+
const nameBuffer = userName_1.encodeName(name);
|
|
307
303
|
const tx = await this.program.transaction.updatePerpMarketName(nameBuffer, {
|
|
308
304
|
accounts: {
|
|
309
305
|
admin: this.wallet.publicKey,
|
|
310
306
|
state: await this.getStatePublicKey(),
|
|
311
|
-
perpMarket: await
|
|
307
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
312
308
|
},
|
|
313
309
|
});
|
|
314
310
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
315
311
|
return txSig;
|
|
316
312
|
}
|
|
317
313
|
async updateSpotMarketName(spotMarketIndex, name) {
|
|
318
|
-
const nameBuffer =
|
|
314
|
+
const nameBuffer = userName_1.encodeName(name);
|
|
319
315
|
return await this.program.rpc.updateSpotMarketName(nameBuffer, {
|
|
320
316
|
accounts: {
|
|
321
317
|
admin: this.wallet.publicKey,
|
|
322
318
|
state: await this.getStatePublicKey(),
|
|
323
|
-
spotMarket: await
|
|
319
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
324
320
|
},
|
|
325
321
|
});
|
|
326
322
|
}
|
|
327
323
|
async updatePerpMarketMaxSpread(perpMarketIndex, maxSpread) {
|
|
328
|
-
const perpMarketPublicKey = await
|
|
324
|
+
const perpMarketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
|
|
329
325
|
return await this.program.rpc.updatePerpMarketMaxSpread(maxSpread, {
|
|
330
326
|
accounts: {
|
|
331
327
|
admin: this.wallet.publicKey,
|
|
@@ -393,7 +389,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
393
389
|
accounts: {
|
|
394
390
|
admin: this.wallet.publicKey,
|
|
395
391
|
state: await this.getStatePublicKey(),
|
|
396
|
-
spotMarket: await
|
|
392
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
397
393
|
},
|
|
398
394
|
});
|
|
399
395
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -404,7 +400,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
404
400
|
accounts: {
|
|
405
401
|
admin: this.wallet.publicKey,
|
|
406
402
|
state: await this.getStatePublicKey(),
|
|
407
|
-
spotMarket: await
|
|
403
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
408
404
|
},
|
|
409
405
|
});
|
|
410
406
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -415,7 +411,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
415
411
|
accounts: {
|
|
416
412
|
admin: this.wallet.publicKey,
|
|
417
413
|
state: await this.getStatePublicKey(),
|
|
418
|
-
spotMarket: await
|
|
414
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
419
415
|
},
|
|
420
416
|
});
|
|
421
417
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -426,7 +422,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
426
422
|
accounts: {
|
|
427
423
|
admin: this.wallet.publicKey,
|
|
428
424
|
state: await this.getStatePublicKey(),
|
|
429
|
-
spotMarket: await
|
|
425
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
430
426
|
},
|
|
431
427
|
});
|
|
432
428
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -437,7 +433,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
437
433
|
accounts: {
|
|
438
434
|
admin: this.wallet.publicKey,
|
|
439
435
|
state: await this.getStatePublicKey(),
|
|
440
|
-
spotMarket: await
|
|
436
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
441
437
|
},
|
|
442
438
|
});
|
|
443
439
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -458,7 +454,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
458
454
|
accounts: {
|
|
459
455
|
admin: this.wallet.publicKey,
|
|
460
456
|
state: await this.getStatePublicKey(),
|
|
461
|
-
perpMarket: await
|
|
457
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
462
458
|
oracle: oracle,
|
|
463
459
|
},
|
|
464
460
|
});
|
|
@@ -470,7 +466,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
470
466
|
accounts: {
|
|
471
467
|
admin: this.wallet.publicKey,
|
|
472
468
|
state: await this.getStatePublicKey(),
|
|
473
|
-
perpMarket: await
|
|
469
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
474
470
|
},
|
|
475
471
|
});
|
|
476
472
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -481,7 +477,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
481
477
|
accounts: {
|
|
482
478
|
admin: this.wallet.publicKey,
|
|
483
479
|
state: await this.getStatePublicKey(),
|
|
484
|
-
perpMarket: await
|
|
480
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
485
481
|
},
|
|
486
482
|
});
|
|
487
483
|
}
|
|
@@ -490,7 +486,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
490
486
|
accounts: {
|
|
491
487
|
admin: this.wallet.publicKey,
|
|
492
488
|
state: await this.getStatePublicKey(),
|
|
493
|
-
spotMarket: await
|
|
489
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
494
490
|
},
|
|
495
491
|
});
|
|
496
492
|
}
|
|
@@ -499,7 +495,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
499
495
|
accounts: {
|
|
500
496
|
admin: this.wallet.publicKey,
|
|
501
497
|
state: await this.getStatePublicKey(),
|
|
502
|
-
spotMarket: await
|
|
498
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
503
499
|
},
|
|
504
500
|
});
|
|
505
501
|
}
|
|
@@ -508,7 +504,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
508
504
|
accounts: {
|
|
509
505
|
admin: this.wallet.publicKey,
|
|
510
506
|
state: await this.getStatePublicKey(),
|
|
511
|
-
perpMarket: await
|
|
507
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
512
508
|
},
|
|
513
509
|
});
|
|
514
510
|
}
|
|
@@ -517,7 +513,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
517
513
|
accounts: {
|
|
518
514
|
admin: this.wallet.publicKey,
|
|
519
515
|
state: await this.getStatePublicKey(),
|
|
520
|
-
spotMarket: await
|
|
516
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
521
517
|
oracle: oracle,
|
|
522
518
|
},
|
|
523
519
|
});
|
|
@@ -527,7 +523,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
527
523
|
accounts: {
|
|
528
524
|
admin: this.wallet.publicKey,
|
|
529
525
|
state: await this.getStatePublicKey(),
|
|
530
|
-
spotMarket: await
|
|
526
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
531
527
|
},
|
|
532
528
|
});
|
|
533
529
|
}
|
|
@@ -545,7 +541,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
545
541
|
accounts: {
|
|
546
542
|
admin: this.wallet.publicKey,
|
|
547
543
|
state: await this.getStatePublicKey(),
|
|
548
|
-
spotMarket: await
|
|
544
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
549
545
|
},
|
|
550
546
|
});
|
|
551
547
|
}
|
|
@@ -574,7 +570,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
574
570
|
accounts: {
|
|
575
571
|
admin: this.wallet.publicKey,
|
|
576
572
|
state: await this.getStatePublicKey(),
|
|
577
|
-
spotMarket: await
|
|
573
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
578
574
|
},
|
|
579
575
|
});
|
|
580
576
|
}
|
|
@@ -583,7 +579,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
583
579
|
accounts: {
|
|
584
580
|
admin: this.wallet.publicKey,
|
|
585
581
|
state: await this.getStatePublicKey(),
|
|
586
|
-
spotMarket: await
|
|
582
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
587
583
|
},
|
|
588
584
|
});
|
|
589
585
|
}
|
|
@@ -592,7 +588,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
592
588
|
accounts: {
|
|
593
589
|
admin: this.wallet.publicKey,
|
|
594
590
|
state: await this.getStatePublicKey(),
|
|
595
|
-
spotMarket: await
|
|
591
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
596
592
|
},
|
|
597
593
|
});
|
|
598
594
|
const { txSig } = await this.sendTransaction(tx);
|
|
@@ -603,7 +599,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
603
599
|
accounts: {
|
|
604
600
|
admin: this.wallet.publicKey,
|
|
605
601
|
state: await this.getStatePublicKey(),
|
|
606
|
-
spotMarket: await
|
|
602
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
607
603
|
},
|
|
608
604
|
});
|
|
609
605
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -614,7 +610,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
614
610
|
accounts: {
|
|
615
611
|
admin: this.wallet.publicKey,
|
|
616
612
|
state: await this.getStatePublicKey(),
|
|
617
|
-
perpMarket: await
|
|
613
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
618
614
|
},
|
|
619
615
|
});
|
|
620
616
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -625,7 +621,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
625
621
|
accounts: {
|
|
626
622
|
admin: this.wallet.publicKey,
|
|
627
623
|
state: await this.getStatePublicKey(),
|
|
628
|
-
perpMarket: await
|
|
624
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
629
625
|
},
|
|
630
626
|
});
|
|
631
627
|
const { txSig } = await this.sendTransaction(tx, [], this.opts);
|
|
@@ -662,7 +658,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
662
658
|
accounts: {
|
|
663
659
|
admin: this.wallet.publicKey,
|
|
664
660
|
state: await this.getStatePublicKey(),
|
|
665
|
-
perpMarket: await
|
|
661
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
666
662
|
},
|
|
667
663
|
});
|
|
668
664
|
}
|
|
@@ -680,7 +676,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
680
676
|
accounts: {
|
|
681
677
|
admin: this.wallet.publicKey,
|
|
682
678
|
state: await this.getStatePublicKey(),
|
|
683
|
-
perpMarket: await
|
|
679
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
684
680
|
},
|
|
685
681
|
});
|
|
686
682
|
}
|
|
@@ -689,7 +685,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
689
685
|
accounts: {
|
|
690
686
|
admin: this.wallet.publicKey,
|
|
691
687
|
state: await this.getStatePublicKey(),
|
|
692
|
-
perpMarket: await
|
|
688
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
693
689
|
},
|
|
694
690
|
});
|
|
695
691
|
}
|
|
@@ -698,7 +694,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
698
694
|
accounts: {
|
|
699
695
|
admin: this.wallet.publicKey,
|
|
700
696
|
state: await this.getStatePublicKey(),
|
|
701
|
-
perpMarket: await
|
|
697
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
702
698
|
},
|
|
703
699
|
});
|
|
704
700
|
}
|
|
@@ -716,7 +712,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
716
712
|
accounts: {
|
|
717
713
|
admin: this.wallet.publicKey,
|
|
718
714
|
state: await this.getStatePublicKey(),
|
|
719
|
-
perpMarket: await
|
|
715
|
+
perpMarket: await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex),
|
|
720
716
|
},
|
|
721
717
|
});
|
|
722
718
|
}
|
|
@@ -725,7 +721,7 @@ class AdminClient extends driftClient_1.DriftClient {
|
|
|
725
721
|
accounts: {
|
|
726
722
|
admin: this.wallet.publicKey,
|
|
727
723
|
state: await this.getStatePublicKey(),
|
|
728
|
-
spotMarket: await
|
|
724
|
+
spotMarket: await pda_1.getSpotMarketPublicKey(this.program.programId, spotMarketIndex),
|
|
729
725
|
},
|
|
730
726
|
});
|
|
731
727
|
}
|
|
@@ -15,6 +15,7 @@ export declare const TEN_THOUSAND: BN;
|
|
|
15
15
|
export declare const BN_MAX: BN;
|
|
16
16
|
export declare const TEN_MILLION: BN;
|
|
17
17
|
export declare const MAX_LEVERAGE: BN;
|
|
18
|
+
export declare const MAX_LEVERAGE_ORDER_SIZE: BN;
|
|
18
19
|
export declare const PERCENTAGE_PRECISION_EXP: BN;
|
|
19
20
|
export declare const PERCENTAGE_PRECISION: BN;
|
|
20
21
|
export declare const CONCENTRATION_PRECISION: BN;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT = exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.LAMPORTS_EXP = exports.LAMPORTS_PRECISION = exports.QUOTE_SPOT_MARKET_INDEX = exports.ONE_YEAR = exports.ONE_HOUR = exports.FIVE_MINUTE = exports.LIQUIDATION_PCT_PRECISION = void 0;
|
|
3
|
+
exports.MARGIN_PRECISION = exports.AMM_TIMES_PEG_TO_QUOTE_PRECISION_RATIO = exports.PRICE_TO_QUOTE_PRECISION = exports.PRICE_DIV_PEG = exports.AMM_TO_QUOTE_PRECISION_RATIO = exports.BASE_PRECISION_EXP = exports.BASE_PRECISION = exports.AMM_RESERVE_PRECISION = exports.PEG_PRECISION = exports.FUNDING_RATE_BUFFER_PRECISION = exports.FUNDING_RATE_PRECISION = exports.PRICE_PRECISION = exports.QUOTE_PRECISION = exports.LIQUIDATION_FEE_PRECISION = exports.SPOT_MARKET_IMF_PRECISION = exports.SPOT_MARKET_IMF_PRECISION_EXP = exports.SPOT_MARKET_BALANCE_PRECISION = exports.SPOT_MARKET_BALANCE_PRECISION_EXP = exports.SPOT_MARKET_WEIGHT_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION = exports.SPOT_MARKET_UTILIZATION_PRECISION_EXP = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION = exports.SPOT_MARKET_CUMULATIVE_INTEREST_PRECISION_EXP = exports.SPOT_MARKET_RATE_PRECISION = exports.SPOT_MARKET_RATE_PRECISION_EXP = exports.AMM_RESERVE_PRECISION_EXP = exports.PEG_PRECISION_EXP = exports.FUNDING_RATE_PRECISION_EXP = exports.PRICE_PRECISION_EXP = exports.FUNDING_RATE_BUFFER_PRECISION_EXP = exports.QUOTE_PRECISION_EXP = exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION = exports.PERCENTAGE_PRECISION_EXP = exports.MAX_LEVERAGE_ORDER_SIZE = exports.MAX_LEVERAGE = exports.TEN_MILLION = exports.BN_MAX = exports.TEN_THOUSAND = exports.TEN = exports.NINE = exports.EIGHT = exports.SEVEN = exports.SIX = exports.FIVE = exports.FOUR = exports.THREE = exports.TWO = exports.ONE = exports.ZERO = void 0;
|
|
4
|
+
exports.DEFAULT_REVENUE_SINCE_LAST_FUNDING_SPREAD_RETREAT = exports.OPEN_ORDER_MARGIN_REQUIREMENT = exports.LAMPORTS_EXP = exports.LAMPORTS_PRECISION = exports.QUOTE_SPOT_MARKET_INDEX = exports.ONE_YEAR = exports.ONE_HOUR = exports.FIVE_MINUTE = exports.LIQUIDATION_PCT_PRECISION = exports.BID_ASK_SPREAD_PRECISION = void 0;
|
|
5
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
6
|
const __1 = require("../");
|
|
7
7
|
exports.ZERO = new __1.BN(0);
|
|
@@ -19,6 +19,7 @@ exports.TEN_THOUSAND = new __1.BN(10000);
|
|
|
19
19
|
exports.BN_MAX = new __1.BN(Number.MAX_SAFE_INTEGER);
|
|
20
20
|
exports.TEN_MILLION = exports.TEN_THOUSAND.mul(exports.TEN_THOUSAND);
|
|
21
21
|
exports.MAX_LEVERAGE = new __1.BN(5);
|
|
22
|
+
exports.MAX_LEVERAGE_ORDER_SIZE = new __1.BN('18446744073709551615');
|
|
22
23
|
exports.PERCENTAGE_PRECISION_EXP = new __1.BN(6);
|
|
23
24
|
exports.PERCENTAGE_PRECISION = new __1.BN(10).pow(exports.PERCENTAGE_PRECISION_EXP);
|
|
24
25
|
exports.CONCENTRATION_PRECISION = exports.PERCENTAGE_PRECISION;
|
|
@@ -34,6 +34,16 @@ exports.DevnetPerpMarkets = [
|
|
|
34
34
|
launchTs: 1637691133472,
|
|
35
35
|
oracleSource: __1.OracleSource.PYTH,
|
|
36
36
|
},
|
|
37
|
+
{
|
|
38
|
+
fullName: 'Aptos',
|
|
39
|
+
category: ['L1', 'Infra'],
|
|
40
|
+
symbol: 'APT-PERP',
|
|
41
|
+
baseAssetSymbol: 'APT',
|
|
42
|
+
marketIndex: 3,
|
|
43
|
+
oracle: new web3_js_1.PublicKey('5d2QJ6u2NveZufmJ4noHja5EHs3Bv1DUMPLG5xfasSVs'),
|
|
44
|
+
launchTs: 1675610186000,
|
|
45
|
+
oracleSource: __1.OracleSource.PYTH,
|
|
46
|
+
},
|
|
37
47
|
];
|
|
38
48
|
exports.MainnetPerpMarkets = [
|
|
39
49
|
{
|