@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.
Files changed (63) hide show
  1. package/lib/accounts/bulkAccountLoader.d.ts +0 -1
  2. package/lib/accounts/bulkAccountLoader.js +3 -3
  3. package/lib/accounts/fetch.js +2 -2
  4. package/lib/accounts/pollingDriftClientAccountSubscriber.js +7 -7
  5. package/lib/accounts/pollingTokenAccountSubscriber.js +2 -2
  6. package/lib/accounts/pollingUserAccountSubscriber.js +2 -2
  7. package/lib/accounts/pollingUserStatsAccountSubscriber.js +2 -2
  8. package/lib/accounts/types.d.ts +0 -1
  9. package/lib/accounts/webSocketAccountSubscriber.js +1 -1
  10. package/lib/accounts/webSocketDriftClientAccountSubscriber.js +3 -3
  11. package/lib/addresses/marketAddresses.js +1 -1
  12. package/lib/addresses/pda.js +1 -5
  13. package/lib/adminClient.js +57 -61
  14. package/lib/constants/numericConstants.d.ts +1 -0
  15. package/lib/constants/numericConstants.js +3 -2
  16. package/lib/constants/perpMarkets.js +10 -0
  17. package/lib/dlob/DLOB.js +68 -68
  18. package/lib/dlob/DLOBNode.js +7 -7
  19. package/lib/dlob/NodeList.js +2 -2
  20. package/lib/driftClient.js +81 -85
  21. package/lib/events/eventSubscriber.js +2 -2
  22. package/lib/events/pollingLogProvider.js +1 -1
  23. package/lib/examples/loadDlob.js +2 -2
  24. package/lib/examples/makeTradeExample.js +9 -9
  25. package/lib/factory/bigNum.js +9 -9
  26. package/lib/factory/oracleClient.js +2 -2
  27. package/lib/idl/drift.json +1 -1
  28. package/lib/index.js +1 -5
  29. package/lib/math/amm.js +23 -23
  30. package/lib/math/auction.js +6 -6
  31. package/lib/math/exchangeStatus.js +2 -2
  32. package/lib/math/funding.js +2 -2
  33. package/lib/math/margin.js +5 -5
  34. package/lib/math/market.js +13 -13
  35. package/lib/math/oracles.js +1 -1
  36. package/lib/math/orders.js +23 -23
  37. package/lib/math/position.js +5 -5
  38. package/lib/math/repeg.js +1 -1
  39. package/lib/math/spotBalance.js +8 -8
  40. package/lib/math/spotPosition.js +3 -3
  41. package/lib/math/trade.js +42 -42
  42. package/lib/oracles/oracleClientCache.js +1 -1
  43. package/lib/oracles/pythClient.js +1 -1
  44. package/lib/tokenFaucet.js +1 -5
  45. package/lib/tx/retryTxSender.js +1 -1
  46. package/lib/user.js +52 -52
  47. package/lib/userMap/userMap.js +1 -1
  48. package/lib/userMap/userStatsMap.js +3 -3
  49. package/lib/userStats.js +2 -2
  50. package/package.json +1 -1
  51. package/src/assert/assert.js +9 -0
  52. package/src/constants/numericConstants.ts +1 -0
  53. package/src/constants/perpMarkets.ts +10 -0
  54. package/src/dlob/DLOB.ts +1 -1
  55. package/src/idl/drift.json +1 -1
  56. package/src/token/index.js +38 -0
  57. package/src/tx/types.js +2 -0
  58. package/src/tx/utils.js +17 -0
  59. package/src/user.ts +2 -1
  60. package/src/util/computeUnits.js +27 -0
  61. package/src/util/getTokenAddress.js +9 -0
  62. package/src/util/promiseTimeout.js +14 -0
  63. package/src/util/tps.js +27 -0
@@ -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
- var desc = Object.getOwnPropertyDescriptor(m, k);
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 (0, pda_1.getDriftStateAccountPublicKeyAndNonce)(this.program.programId);
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex);
63
- const spotMarketVault = await (0, pda_1.getSpotMarketVaultPublicKey)(this.program.programId, spotMarketIndex);
64
- const insuranceFundVault = await (0, pda_1.getInsuranceFundVaultPublicKey)(this.program.programId, spotMarketIndex);
65
- const nameBuffer = (0, userName_1.encodeName)(name);
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 = (0, pda_1.getSerumOpenOrdersPublicKey)(this.program.programId, serumMarket);
91
- const serumFulfillmentConfig = (0, pda_1.getSerumFulfillmentConfigPublicKey)(this.program.programId, serumMarket);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, currentPerpMarketIndex);
113
- const nameBuffer = (0, userName_1.encodeName)(name);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
132
+ const marketPublicKey = await pda_1.getPerpMarketPublicKey(this.program.programId, perpMarketIndex);
137
133
  if (sqrtK == undefined) {
138
- sqrtK = (0, utils_1.squareRootBN)(baseAssetReserve.mul(quoteAssetReserve));
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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, _] = (0, trade_1.calculateTargetPriceTrade)(perpMarket, targetPrice, new anchor_1.BN(1000), 'quote', undefined //todo
169
+ const [direction, tradeSize, _] = trade_1.calculateTargetPriceTrade(perpMarket, targetPrice, new anchor_1.BN(1000), 'quote', undefined //todo
174
170
  );
175
- const [newQuoteAssetAmount, newBaseAssetAmount] = (0, amm_1.calculateAmmReservesAfterSwap)(perpMarket.amm, 'quote', tradeSize, (0, amm_1.getSwapDirection)('quote', direction));
176
- const perpMarketPublicKey = await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 = (0, userName_1.encodeName)(name);
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 = (0, userName_1.encodeName)(name);
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex),
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 (0, pda_1.getSpotMarketPublicKey)(this.program.programId, spotMarketIndex),
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.BID_ASK_SPREAD_PRECISION = 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 = 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 = 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
  {