@drift-labs/sdk 2.143.0-beta.8 → 2.144.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 (42) hide show
  1. package/VERSION +1 -1
  2. package/lib/browser/adminClient.d.ts +2 -2
  3. package/lib/browser/adminClient.js +5 -5
  4. package/lib/browser/dlob/DLOB.d.ts +9 -3
  5. package/lib/browser/dlob/DLOB.js +10 -13
  6. package/lib/browser/idl/drift.json +19 -23
  7. package/lib/browser/math/auction.d.ts +3 -2
  8. package/lib/browser/math/auction.js +23 -4
  9. package/lib/browser/math/oracles.d.ts +2 -1
  10. package/lib/browser/math/oracles.js +55 -1
  11. package/lib/browser/math/orders.d.ts +3 -2
  12. package/lib/browser/math/orders.js +13 -3
  13. package/lib/browser/types.d.ts +12 -1
  14. package/lib/browser/types.js +12 -1
  15. package/lib/node/adminClient.d.ts +2 -2
  16. package/lib/node/adminClient.d.ts.map +1 -1
  17. package/lib/node/adminClient.js +5 -5
  18. package/lib/node/dlob/DLOB.d.ts +9 -3
  19. package/lib/node/dlob/DLOB.d.ts.map +1 -1
  20. package/lib/node/dlob/DLOB.js +10 -13
  21. package/lib/node/idl/drift.json +19 -23
  22. package/lib/node/math/auction.d.ts +3 -2
  23. package/lib/node/math/auction.d.ts.map +1 -1
  24. package/lib/node/math/auction.js +23 -4
  25. package/lib/node/math/oracles.d.ts +2 -1
  26. package/lib/node/math/oracles.d.ts.map +1 -1
  27. package/lib/node/math/oracles.js +55 -1
  28. package/lib/node/math/orders.d.ts +3 -2
  29. package/lib/node/math/orders.d.ts.map +1 -1
  30. package/lib/node/math/orders.js +13 -3
  31. package/lib/node/types.d.ts +12 -1
  32. package/lib/node/types.d.ts.map +1 -1
  33. package/lib/node/types.js +12 -1
  34. package/package.json +1 -1
  35. package/src/adminClient.ts +10 -10
  36. package/src/dlob/DLOB.ts +28 -15
  37. package/src/idl/drift.json +20 -24
  38. package/src/math/auction.ts +50 -7
  39. package/src/math/oracles.ts +88 -0
  40. package/src/math/orders.ts +30 -2
  41. package/src/types.ts +13 -1
  42. package/tests/dlob/helpers.ts +4 -4
package/VERSION CHANGED
@@ -1 +1 @@
1
- 2.143.0-beta.8
1
+ 2.144.0-beta.0
@@ -201,8 +201,8 @@ export declare class AdminClient extends DriftClient {
201
201
  getUpdateSpotMarketFuelIx(spotMarketIndex: number, fuelBoostDeposits?: number, fuelBoostBorrows?: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostInsurance?: number): Promise<TransactionInstruction>;
202
202
  updatePerpMarketFuel(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise<TransactionSignature>;
203
203
  getUpdatePerpMarketFuelIx(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise<TransactionInstruction>;
204
- updatePerpMarketTakerSpeedBumpOverride(perpMarketIndex: number, takerSpeedBumpOverride: number): Promise<TransactionSignature>;
205
- getUpdatePerpMarketTakerSpeedBumpOverrideIx(perpMarketIndex: number, takerSpeedBumpOverride: number): Promise<TransactionInstruction>;
204
+ updatePerpMarketOracleLowRiskSlotDelayOverride(perpMarketIndex: number, oracleLowRiskSlotDelayOverride: number): Promise<TransactionSignature>;
205
+ getUpdatePerpMarketOracleLowRiskSlotDelayOverrideIx(perpMarketIndex: number, oracleLowRiskSlotDelayOverride: number): Promise<TransactionInstruction>;
206
206
  updatePerpMarketOracleSlotDelayOverride(perpMarketIndex: number, oracleSlotDelay: number): Promise<TransactionSignature>;
207
207
  getUpdatePerpMarketOracleSlotDelayOverrideIx(perpMarketIndex: number, oracleSlotDelay: number): Promise<TransactionInstruction>;
208
208
  updatePerpMarketAmmSpreadAdjustment(perpMarketIndex: number, ammSpreadAdjustment: number, ammInventorySpreadAdjustment: number, referencePriceOffset: number): Promise<TransactionSignature>;
@@ -1856,15 +1856,15 @@ class AdminClient extends driftClient_1.DriftClient {
1856
1856
  },
1857
1857
  });
1858
1858
  }
1859
- async updatePerpMarketTakerSpeedBumpOverride(perpMarketIndex, takerSpeedBumpOverride) {
1860
- const updatePerpMarketTakerSpeedBumpOverrideIx = await this.getUpdatePerpMarketTakerSpeedBumpOverrideIx(perpMarketIndex, takerSpeedBumpOverride);
1861
- const tx = await this.buildTransaction(updatePerpMarketTakerSpeedBumpOverrideIx);
1859
+ async updatePerpMarketOracleLowRiskSlotDelayOverride(perpMarketIndex, oracleLowRiskSlotDelayOverride) {
1860
+ const updatePerpMarketOracleLowRiskSlotDelayOverrideIx = await this.getUpdatePerpMarketOracleLowRiskSlotDelayOverrideIx(perpMarketIndex, oracleLowRiskSlotDelayOverride);
1861
+ const tx = await this.buildTransaction(updatePerpMarketOracleLowRiskSlotDelayOverrideIx);
1862
1862
  const { txSig } = await this.sendTransaction(tx, [], this.opts);
1863
1863
  return txSig;
1864
1864
  }
1865
- async getUpdatePerpMarketTakerSpeedBumpOverrideIx(perpMarketIndex, takerSpeedBumpOverride) {
1865
+ async getUpdatePerpMarketOracleLowRiskSlotDelayOverrideIx(perpMarketIndex, oracleLowRiskSlotDelayOverride) {
1866
1866
  const perpMarketPublicKey = await (0, pda_1.getPerpMarketPublicKey)(this.program.programId, perpMarketIndex);
1867
- return await this.program.instruction.updatePerpMarketTakerSpeedBumpOverride(takerSpeedBumpOverride, {
1867
+ return await this.program.instruction.updatePerpMarketOracleLowRiskSlotDelayOverride(oracleLowRiskSlotDelayOverride, {
1868
1868
  accounts: {
1869
1869
  admin: this.useHotWalletAdmin
1870
1870
  ? this.wallet.publicKey
@@ -95,10 +95,14 @@ export declare class DLOB {
95
95
  mergeNodesToFill(restingLimitOrderNodesToFill: NodeToFill[], takingOrderNodesToFill: NodeToFill[]): NodeToFill[];
96
96
  findRestingLimitOrderNodesToFill<T extends MarketType>(marketIndex: number, slot: number, marketType: T, oraclePriceData: T extends {
97
97
  spot: unknown;
98
- } ? OraclePriceData : MMOraclePriceData, isAmmPaused: boolean, minAuctionDuration: number, makerRebateNumerator: number, makerRebateDenominator: number, fallbackAsk: BN | undefined, fallbackBid: BN | undefined): NodeToFill[];
98
+ } ? OraclePriceData : MMOraclePriceData, isAmmPaused: boolean, stateAccount: StateAccount, marketAccount: T extends {
99
+ spot: unknown;
100
+ } ? SpotMarketAccount : PerpMarketAccount, makerRebateNumerator: number, makerRebateDenominator: number, fallbackAsk: BN | undefined, fallbackBid: BN | undefined): NodeToFill[];
99
101
  findTakingNodesToFill<T extends MarketType>(marketIndex: number, slot: number, marketType: T, oraclePriceData: T extends {
100
102
  spot: unknown;
101
- } ? OraclePriceData : MMOraclePriceData, isAmmPaused: boolean, minAuctionDuration: number, fallbackAsk: BN | undefined, fallbackBid?: BN | undefined): NodeToFill[];
103
+ } ? OraclePriceData : MMOraclePriceData, isAmmPaused: boolean, state: StateAccount, marketAccount: T extends {
104
+ spot: unknown;
105
+ } ? SpotMarketAccount : PerpMarketAccount, fallbackAsk: BN | undefined, fallbackBid?: BN | undefined): NodeToFill[];
102
106
  findTakingNodesCrossingMakerNodes<T extends MarketType>(marketIndex: number, slot: number, marketType: T, oraclePriceData: T extends {
103
107
  spot: unknown;
104
108
  } ? OraclePriceData : MMOraclePriceData, takerNodeGenerator: Generator<DLOBNode>, makerNodeGeneratorFn: (marketIndex: number, slot: number, marketType: MarketType, oraclePriceData: T extends {
@@ -106,7 +110,9 @@ export declare class DLOB {
106
110
  } ? OraclePriceData : MMOraclePriceData) => Generator<DLOBNode>, doesCross: (takerPrice: BN | undefined, makerPrice: BN) => boolean): NodeToFill[];
107
111
  findNodesCrossingFallbackLiquidity<T extends MarketType>(marketType: T, slot: number, oraclePriceData: T extends {
108
112
  spot: unknown;
109
- } ? OraclePriceData : MMOraclePriceData, nodeGenerator: Generator<DLOBNode>, doesCross: (nodePrice: BN | undefined) => boolean, minAuctionDuration: number): NodeToFill[];
113
+ } ? OraclePriceData : MMOraclePriceData, nodeGenerator: Generator<DLOBNode>, doesCross: (nodePrice: BN | undefined) => boolean, state: StateAccount, marketAccount: T extends {
114
+ spot: unknown;
115
+ } ? SpotMarketAccount : PerpMarketAccount): NodeToFill[];
110
116
  findExpiredNodesToFill(marketIndex: number, ts: number, marketType: MarketType, slot?: BN): NodeToFill[];
111
117
  findUnfillableReduceOnlyOrdersToCancel(marketIndex: number, marketType: MarketType, stepSize: BN): NodeToFill[];
112
118
  getTakingBids<T extends MarketType>(marketIndex: number, marketType: T, slot: number, oraclePriceData: T extends {
@@ -250,12 +250,9 @@ class DLOB {
250
250
  return [];
251
251
  }
252
252
  const isAmmPaused = (0, exchangeStatus_1.ammPaused)(stateAccount, marketAccount);
253
- const minAuctionDuration = (0, types_1.isVariant)(marketType, 'perp')
254
- ? stateAccount.minPerpAuctionDuration
255
- : 0;
256
253
  const { makerRebateNumerator, makerRebateDenominator } = this.getMakerRebate(marketType, stateAccount, marketAccount);
257
- const takingOrderNodesToFill = this.findTakingNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, minAuctionDuration, fallbackAsk, fallbackBid);
258
- const restingLimitOrderNodesToFill = this.findRestingLimitOrderNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, minAuctionDuration, makerRebateNumerator, makerRebateDenominator, fallbackAsk, fallbackBid);
254
+ const takingOrderNodesToFill = this.findTakingNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, stateAccount, marketAccount, fallbackAsk, fallbackBid);
255
+ const restingLimitOrderNodesToFill = this.findRestingLimitOrderNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, stateAccount, marketAccount, makerRebateNumerator, makerRebateDenominator, fallbackAsk, fallbackBid);
259
256
  // get expired market nodes
260
257
  const expiredNodesToFill = this.findExpiredNodesToFill(marketIndex, ts, marketType, new anchor_1.BN(slot));
261
258
  const stepSize = (0, types_1.isVariant)(marketType, 'perp')
@@ -310,7 +307,7 @@ class DLOB {
310
307
  mergeNodesToFillHelper(takingOrderNodesToFill);
311
308
  return Array.from(mergedNodesToFill.values());
312
309
  }
313
- findRestingLimitOrderNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, minAuctionDuration, makerRebateNumerator, makerRebateDenominator, fallbackAsk, fallbackBid) {
310
+ findRestingLimitOrderNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, stateAccount, marketAccount, makerRebateNumerator, makerRebateDenominator, fallbackAsk, fallbackBid) {
314
311
  const nodesToFill = new Array();
315
312
  const crossingNodes = this.findCrossingRestingLimitOrders(marketIndex, slot, marketType, oraclePriceData);
316
313
  for (const crossingNode of crossingNodes) {
@@ -321,7 +318,7 @@ class DLOB {
321
318
  const fallbackBidWithBuffer = fallbackBid.sub(fallbackBid.muln(makerRebateNumerator).divn(makerRebateDenominator));
322
319
  const asksCrossingFallback = this.findNodesCrossingFallbackLiquidity(marketType, slot, oraclePriceData, askGenerator, (askPrice) => {
323
320
  return askPrice.lte(fallbackBidWithBuffer);
324
- }, minAuctionDuration);
321
+ }, stateAccount, marketAccount);
325
322
  for (const askCrossingFallback of asksCrossingFallback) {
326
323
  nodesToFill.push(askCrossingFallback);
327
324
  }
@@ -331,14 +328,14 @@ class DLOB {
331
328
  const fallbackAskWithBuffer = fallbackAsk.add(fallbackAsk.muln(makerRebateNumerator).divn(makerRebateDenominator));
332
329
  const bidsCrossingFallback = this.findNodesCrossingFallbackLiquidity(marketType, slot, oraclePriceData, bidGenerator, (bidPrice) => {
333
330
  return bidPrice.gte(fallbackAskWithBuffer);
334
- }, minAuctionDuration);
331
+ }, stateAccount, marketAccount);
335
332
  for (const bidCrossingFallback of bidsCrossingFallback) {
336
333
  nodesToFill.push(bidCrossingFallback);
337
334
  }
338
335
  }
339
336
  return nodesToFill;
340
337
  }
341
- findTakingNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, minAuctionDuration, fallbackAsk, fallbackBid) {
338
+ findTakingNodesToFill(marketIndex, slot, marketType, oraclePriceData, isAmmPaused, state, marketAccount, fallbackAsk, fallbackBid) {
342
339
  const nodesToFill = new Array();
343
340
  let takingOrderGenerator = this.getTakingAsks(marketIndex, marketType, slot, oraclePriceData);
344
341
  const takingAsksCrossingBids = this.findTakingNodesCrossingMakerNodes(marketIndex, slot, marketType, oraclePriceData, takingOrderGenerator, this.getRestingLimitBids.bind(this), (takerPrice, makerPrice) => {
@@ -359,7 +356,7 @@ class DLOB {
359
356
  takingOrderGenerator = this.getTakingAsks(marketIndex, marketType, slot, oraclePriceData);
360
357
  const takingAsksCrossingFallback = this.findNodesCrossingFallbackLiquidity(marketType, slot, oraclePriceData, takingOrderGenerator, (takerPrice) => {
361
358
  return takerPrice === undefined || takerPrice.lte(fallbackBid);
362
- }, minAuctionDuration);
359
+ }, state, marketAccount);
363
360
  for (const takingAskCrossingFallback of takingAsksCrossingFallback) {
364
361
  nodesToFill.push(takingAskCrossingFallback);
365
362
  }
@@ -383,7 +380,7 @@ class DLOB {
383
380
  takingOrderGenerator = this.getTakingBids(marketIndex, marketType, slot, oraclePriceData);
384
381
  const takingBidsCrossingFallback = this.findNodesCrossingFallbackLiquidity(marketType, slot, oraclePriceData, takingOrderGenerator, (takerPrice) => {
385
382
  return takerPrice === undefined || takerPrice.gte(fallbackAsk);
386
- }, minAuctionDuration);
383
+ }, state, marketAccount);
387
384
  for (const marketBidCrossingFallback of takingBidsCrossingFallback) {
388
385
  nodesToFill.push(marketBidCrossingFallback);
389
386
  }
@@ -441,7 +438,7 @@ class DLOB {
441
438
  }
442
439
  return nodesToFill;
443
440
  }
444
- findNodesCrossingFallbackLiquidity(marketType, slot, oraclePriceData, nodeGenerator, doesCross, minAuctionDuration) {
441
+ findNodesCrossingFallbackLiquidity(marketType, slot, oraclePriceData, nodeGenerator, doesCross, state, marketAccount) {
445
442
  var _a;
446
443
  const nodesToFill = new Array();
447
444
  let nextNode = nodeGenerator.next();
@@ -456,7 +453,7 @@ class DLOB {
456
453
  const crosses = doesCross(nodePrice);
457
454
  // fallback is available if auction is complete or it's a spot order
458
455
  const fallbackAvailable = (0, types_1.isVariant)(marketType, 'spot') ||
459
- (0, auction_1.isFallbackAvailableLiquiditySource)(node.order, minAuctionDuration, slot);
456
+ (0, auction_1.isFallbackAvailableLiquiditySource)(node.order, oraclePriceData, slot, state, marketAccount);
460
457
  if (crosses && fallbackAvailable) {
461
458
  nodesToFill.push({
462
459
  node: node,
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.142.0",
2
+ "version": "2.143.0",
3
3
  "name": "drift",
4
4
  "instructions": [
5
5
  {
@@ -6566,7 +6566,7 @@
6566
6566
  ]
6567
6567
  },
6568
6568
  {
6569
- "name": "updatePerpMarketTakerSpeedBumpOverride",
6569
+ "name": "updatePerpMarketOracleLowRiskSlotDelayOverride",
6570
6570
  "accounts": [
6571
6571
  {
6572
6572
  "name": "admin",
@@ -6586,7 +6586,7 @@
6586
6586
  ],
6587
6587
  "args": [
6588
6588
  {
6589
- "name": "takerSpeedBumpOverride",
6589
+ "name": "oracleLowRiskSlotDelayOverride",
6590
6590
  "type": "i8"
6591
6591
  }
6592
6592
  ]
@@ -11194,7 +11194,7 @@
11194
11194
  "type": "i8"
11195
11195
  },
11196
11196
  {
11197
- "name": "takerSpeedBumpOverride",
11197
+ "name": "oracleLowRiskSlotDelayOverride",
11198
11198
  "docs": [
11199
11199
  "the override for the state.min_perp_auction_duration",
11200
11200
  "0 is no override, -1 is disable speed bump, 1-100 is literal speed bump"
@@ -12278,7 +12278,17 @@
12278
12278
  "name": "InsufficientDataPoints"
12279
12279
  },
12280
12280
  {
12281
- "name": "StaleForAMM"
12281
+ "name": "StaleForAMM",
12282
+ "fields": [
12283
+ {
12284
+ "name": "immediate",
12285
+ "type": "bool"
12286
+ },
12287
+ {
12288
+ "name": "lowRisk",
12289
+ "type": "bool"
12290
+ }
12291
+ ]
12282
12292
  },
12283
12293
  {
12284
12294
  "name": "Valid"
@@ -12304,7 +12314,10 @@
12304
12314
  "name": "FillOrderMatch"
12305
12315
  },
12306
12316
  {
12307
- "name": "FillOrderAmm"
12317
+ "name": "FillOrderAmmLowRisk"
12318
+ },
12319
+ {
12320
+ "name": "FillOrderAmmImmediate"
12308
12321
  },
12309
12322
  {
12310
12323
  "name": "Liquidate"
@@ -12954,23 +12967,6 @@
12954
12967
  ]
12955
12968
  }
12956
12969
  },
12957
- {
12958
- "name": "AMMAvailability",
12959
- "type": {
12960
- "kind": "enum",
12961
- "variants": [
12962
- {
12963
- "name": "Immediate"
12964
- },
12965
- {
12966
- "name": "AfterMinDuration"
12967
- },
12968
- {
12969
- "name": "Unavailable"
12970
- }
12971
- ]
12972
- }
12973
- },
12974
12970
  {
12975
12971
  "name": "RevenueShareOrderBitFlag",
12976
12972
  "type": {
@@ -1,9 +1,10 @@
1
1
  /// <reference types="bn.js" />
2
- import { Order, PositionDirection } from '../types';
2
+ import { Order, PositionDirection, StateAccount } from '../types';
3
3
  import { BN } from '@coral-xyz/anchor';
4
4
  import { PerpMarketAccount } from '../types';
5
+ import { MMOraclePriceData } from '../oracles/types';
5
6
  export declare function isAuctionComplete(order: Order, slot: number): boolean;
6
- export declare function isFallbackAvailableLiquiditySource(order: Order, minAuctionDuration: number, slot: number): boolean;
7
+ export declare function isFallbackAvailableLiquiditySource(order: Order, mmOraclePriceData: MMOraclePriceData, slot: number, state: StateAccount, market: PerpMarketAccount, isLiquidation?: boolean): boolean;
7
8
  /**
8
9
  *
9
10
  * @param order
@@ -6,6 +6,9 @@ const anchor_1 = require("@coral-xyz/anchor");
6
6
  const numericConstants_1 = require("../constants/numericConstants");
7
7
  const types_2 = require("../types");
8
8
  const tiers_1 = require("./tiers");
9
+ const orders_1 = require("./orders");
10
+ const oracles_1 = require("./oracles");
11
+ const exchangeStatus_1 = require("./exchangeStatus");
9
12
  function isAuctionComplete(order, slot) {
10
13
  if (order.auctionDuration === 0) {
11
14
  return true;
@@ -13,14 +16,30 @@ function isAuctionComplete(order, slot) {
13
16
  return new anchor_1.BN(slot).sub(order.slot).gt(new anchor_1.BN(order.auctionDuration));
14
17
  }
15
18
  exports.isAuctionComplete = isAuctionComplete;
16
- function isFallbackAvailableLiquiditySource(order, minAuctionDuration, slot) {
17
- if (minAuctionDuration === 0) {
19
+ function isFallbackAvailableLiquiditySource(order, mmOraclePriceData, slot, state, market, isLiquidation) {
20
+ if ((0, exchangeStatus_1.isOperationPaused)(market.pausedOperations, types_1.PerpOperation.AMM_FILL)) {
21
+ return false;
22
+ }
23
+ // TODO: include too much drawdown check & mm oracle volatility
24
+ const oracleValidity = (0, oracles_1.getOracleValidity)(market, {
25
+ price: mmOraclePriceData.price,
26
+ slot: mmOraclePriceData.slot,
27
+ confidence: mmOraclePriceData.confidence,
28
+ hasSufficientNumberOfDataPoints: mmOraclePriceData.hasSufficientNumberOfDataPoints,
29
+ }, state.oracleGuardRails, new anchor_1.BN(slot));
30
+ if (oracleValidity <= types_1.OracleValidity.StaleForAMMLowRisk) {
31
+ return false;
32
+ }
33
+ if (oracleValidity == types_1.OracleValidity.Valid) {
18
34
  return true;
19
35
  }
20
- if ((order.bitFlags & types_2.OrderBitFlag.SafeTriggerOrder) !== 0) {
36
+ const isOrderLowRiskForAmm = (0, orders_1.isLowRiskForAmm)(order, mmOraclePriceData, isLiquidation);
37
+ if (!isOrderLowRiskForAmm) {
38
+ return false;
39
+ }
40
+ else {
21
41
  return true;
22
42
  }
23
- return new anchor_1.BN(slot).sub(order.slot).gt(new anchor_1.BN(minAuctionDuration));
24
43
  }
25
44
  exports.isFallbackAvailableLiquiditySource = isFallbackAvailableLiquiditySource;
26
45
  /**
@@ -1,11 +1,12 @@
1
1
  /// <reference types="bn.js" />
2
2
  /// <reference types="node" />
3
3
  /// <reference types="node" />
4
- import { AMM, HistoricalOracleData, OracleGuardRails, OracleSource, PerpMarketAccount } from '../types';
4
+ import { AMM, HistoricalOracleData, OracleGuardRails, OracleSource, OracleValidity, PerpMarketAccount } from '../types';
5
5
  import { OraclePriceData } from '../oracles/types';
6
6
  import { BN } from '@coral-xyz/anchor';
7
7
  export declare function oraclePriceBands(market: PerpMarketAccount, oraclePriceData: Pick<OraclePriceData, 'price'>): [BN, BN];
8
8
  export declare function getMaxConfidenceIntervalMultiplier(market: PerpMarketAccount): BN;
9
+ export declare function getOracleValidity(market: PerpMarketAccount, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails, slot: BN, oracleStalenessBuffer?: BN): OracleValidity;
9
10
  export declare function isOracleValid(market: PerpMarketAccount, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails, slot: number): boolean;
10
11
  export declare function isOracleTooDivergent(amm: AMM, oraclePriceData: OraclePriceData, oracleGuardRails: OracleGuardRails): boolean;
11
12
  export declare function calculateLiveOracleTwap(histOracleData: HistoricalOracleData, oraclePriceData: OraclePriceData, now: BN, period: BN): BN;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMultipleBetweenOracleSources = exports.trimVaaSignatures = exports.getNewOracleConfPct = exports.calculateLiveOracleStd = exports.calculateLiveOracleTwap = exports.isOracleTooDivergent = exports.isOracleValid = exports.getMaxConfidenceIntervalMultiplier = exports.oraclePriceBands = void 0;
3
+ exports.getMultipleBetweenOracleSources = exports.trimVaaSignatures = exports.getNewOracleConfPct = exports.calculateLiveOracleStd = exports.calculateLiveOracleTwap = exports.isOracleTooDivergent = exports.isOracleValid = exports.getOracleValidity = exports.getMaxConfidenceIntervalMultiplier = exports.oraclePriceBands = void 0;
4
4
  const types_1 = require("../types");
5
5
  const numericConstants_1 = require("../constants/numericConstants");
6
6
  const assert_1 = require("../assert/assert");
@@ -34,6 +34,60 @@ function getMaxConfidenceIntervalMultiplier(market) {
34
34
  return maxConfidenceIntervalMultiplier;
35
35
  }
36
36
  exports.getMaxConfidenceIntervalMultiplier = getMaxConfidenceIntervalMultiplier;
37
+ function getOracleValidity(market, oraclePriceData, oracleGuardRails, slot, oracleStalenessBuffer = numericConstants_1.FIVE) {
38
+ const isNonPositive = oraclePriceData.price.lte(numericConstants_1.ZERO);
39
+ const isTooVolatile = anchor_1.BN.max(oraclePriceData.price, market.amm.historicalOracleData.lastOraclePriceTwap)
40
+ .div(anchor_1.BN.max(numericConstants_1.ONE, anchor_1.BN.min(oraclePriceData.price, market.amm.historicalOracleData.lastOraclePriceTwap)))
41
+ .gt(oracleGuardRails.validity.tooVolatileRatio);
42
+ const confPctOfPrice = oraclePriceData.confidence
43
+ .mul(numericConstants_1.BID_ASK_SPREAD_PRECISION)
44
+ .div(oraclePriceData.price);
45
+ const isConfTooLarge = confPctOfPrice.gt(oracleGuardRails.validity.confidenceIntervalMaxSize.mul(getMaxConfidenceIntervalMultiplier(market)));
46
+ const oracleDelay = slot.sub(oraclePriceData.slot).sub(oracleStalenessBuffer);
47
+ let isStaleForAmmImmediate = true;
48
+ if (market.amm.oracleSlotDelayOverride != 0) {
49
+ isStaleForAmmImmediate = oracleDelay.gt(anchor_1.BN.max(new anchor_1.BN(market.amm.oracleSlotDelayOverride), numericConstants_1.ZERO));
50
+ }
51
+ let isStaleForAmmLowRisk = false;
52
+ if (market.amm.oracleLowRiskSlotDelayOverride != 0) {
53
+ isStaleForAmmLowRisk = oracleDelay.gt(anchor_1.BN.max(new anchor_1.BN(market.amm.oracleLowRiskSlotDelayOverride), numericConstants_1.ZERO));
54
+ }
55
+ else {
56
+ isStaleForAmmLowRisk = oracleDelay.gt(oracleGuardRails.validity.slotsBeforeStaleForAmm);
57
+ }
58
+ let isStaleForMargin = oracleDelay.gt(new anchor_1.BN(oracleGuardRails.validity.slotsBeforeStaleForMargin));
59
+ if ((0, types_1.isOneOfVariant)(market.amm.oracleSource, [
60
+ 'pythStableCoinPull',
61
+ 'pythLazerStableCoin',
62
+ ])) {
63
+ isStaleForMargin = oracleDelay.gt(new anchor_1.BN(oracleGuardRails.validity.slotsBeforeStaleForMargin).muln(3));
64
+ }
65
+ if (isNonPositive) {
66
+ return types_1.OracleValidity.NonPositive;
67
+ }
68
+ else if (isTooVolatile) {
69
+ return types_1.OracleValidity.TooVolatile;
70
+ }
71
+ else if (isConfTooLarge) {
72
+ return types_1.OracleValidity.TooUncertain;
73
+ }
74
+ else if (isStaleForMargin) {
75
+ return types_1.OracleValidity.StaleForMargin;
76
+ }
77
+ else if (!oraclePriceData.hasSufficientNumberOfDataPoints) {
78
+ return types_1.OracleValidity.InsufficientDataPoints;
79
+ }
80
+ else if (isStaleForAmmLowRisk) {
81
+ return types_1.OracleValidity.StaleForAMMLowRisk;
82
+ }
83
+ else if (isStaleForAmmImmediate) {
84
+ return types_1.OracleValidity.isStaleForAmmImmediate;
85
+ }
86
+ else {
87
+ return types_1.OracleValidity.Valid;
88
+ }
89
+ }
90
+ exports.getOracleValidity = getOracleValidity;
37
91
  function isOracleValid(market, oraclePriceData, oracleGuardRails, slot) {
38
92
  // checks if oracle is valid for an AMM only fill
39
93
  const amm = market.amm;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { User } from '../user';
3
- import { PerpMarketAccount, AMM, Order, PositionDirection, ProtectedMakerParams, MarketTypeStr } from '../types';
3
+ import { PerpMarketAccount, AMM, Order, PositionDirection, ProtectedMakerParams, MarketTypeStr, StateAccount } from '../types';
4
4
  import { BN } from '@coral-xyz/anchor';
5
5
  import { MMOraclePriceData, OraclePriceData } from '../oracles/types';
6
6
  export declare function isOrderRiskIncreasing(user: User, order: Order): boolean;
@@ -12,7 +12,8 @@ export declare function getLimitPrice<T extends MarketTypeStr>(order: Order, ora
12
12
  export declare function applyProtectedMakerParams(limitPrice: BN, direction: PositionDirection, protectedMakerParams: ProtectedMakerParams): BN;
13
13
  export declare function hasLimitPrice(order: Order, slot: number): boolean;
14
14
  export declare function hasAuctionPrice(order: Order, slot: number): boolean;
15
- export declare function isFillableByVAMM(order: Order, market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, slot: number, ts: number, minAuctionDuration: number): boolean;
15
+ export declare function isFillableByVAMM(order: Order, market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, slot: number, ts: number, state: StateAccount): boolean;
16
+ export declare function isLowRiskForAmm(order: Order, mmOraclePriceData: MMOraclePriceData, isLiquidation?: boolean): boolean;
16
17
  export declare function calculateBaseAssetAmountForAmmToFulfill(order: Order, market: PerpMarketAccount, mmOraclePriceData: MMOraclePriceData, slot: number): BN;
17
18
  export declare function calculateBaseAssetAmountToFillUpToLimitPrice(order: Order, amm: AMM, limitPrice: BN, mmOraclePriceData: MMOraclePriceData): BN;
18
19
  export declare function isOrderExpired(order: Order, ts: number, enforceBuffer?: boolean, bufferSeconds?: number): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.maxSizeForTargetLiabilityWeightBN = exports.calculateOrderBaseAssetAmount = exports.hasBuilder = exports.isSignedMsgOrder = exports.isTakingOrder = exports.isRestingLimitOrder = exports.isTriggered = exports.mustBeTriggered = exports.isLimitOrder = exports.isMarketOrder = exports.isOrderExpired = exports.calculateBaseAssetAmountToFillUpToLimitPrice = exports.calculateBaseAssetAmountForAmmToFulfill = exports.isFillableByVAMM = exports.hasAuctionPrice = exports.hasLimitPrice = exports.applyProtectedMakerParams = exports.getLimitPrice = exports.standardizePrice = exports.standardizeBaseAssetAmount = exports.isOrderReduceOnly = exports.isOrderRiskIncreasingInSameDirection = exports.isOrderRiskIncreasing = void 0;
3
+ exports.maxSizeForTargetLiabilityWeightBN = exports.calculateOrderBaseAssetAmount = exports.hasBuilder = exports.isSignedMsgOrder = exports.isTakingOrder = exports.isRestingLimitOrder = exports.isTriggered = exports.mustBeTriggered = exports.isLimitOrder = exports.isMarketOrder = exports.isOrderExpired = exports.calculateBaseAssetAmountToFillUpToLimitPrice = exports.calculateBaseAssetAmountForAmmToFulfill = exports.isLowRiskForAmm = exports.isFillableByVAMM = exports.hasAuctionPrice = exports.hasLimitPrice = exports.applyProtectedMakerParams = exports.getLimitPrice = exports.standardizePrice = exports.standardizeBaseAssetAmount = exports.isOrderReduceOnly = exports.isOrderRiskIncreasingInSameDirection = exports.isOrderRiskIncreasing = void 0;
4
4
  const types_1 = require("../types");
5
5
  const numericConstants_1 = require("../constants/numericConstants");
6
6
  const anchor_1 = require("@coral-xyz/anchor");
@@ -146,12 +146,22 @@ function hasAuctionPrice(order, slot) {
146
146
  (!order.auctionStartPrice.eq(numericConstants_1.ZERO) || !order.auctionEndPrice.eq(numericConstants_1.ZERO)));
147
147
  }
148
148
  exports.hasAuctionPrice = hasAuctionPrice;
149
- function isFillableByVAMM(order, market, mmOraclePriceData, slot, ts, minAuctionDuration) {
150
- return (((0, auction_1.isFallbackAvailableLiquiditySource)(order, minAuctionDuration, slot) &&
149
+ function isFillableByVAMM(order, market, mmOraclePriceData, slot, ts, state) {
150
+ return (((0, auction_1.isFallbackAvailableLiquiditySource)(order, mmOraclePriceData, slot, state, market) &&
151
151
  calculateBaseAssetAmountForAmmToFulfill(order, market, mmOraclePriceData, slot).gt(numericConstants_1.ZERO)) ||
152
152
  isOrderExpired(order, ts));
153
153
  }
154
154
  exports.isFillableByVAMM = isFillableByVAMM;
155
+ function isLowRiskForAmm(order, mmOraclePriceData, isLiquidation) {
156
+ if ((0, types_1.isVariant)(order.marketType, 'spot')) {
157
+ return false;
158
+ }
159
+ const orderOlderThanOracleDelay = new anchor_1.BN(order.slot).lte(mmOraclePriceData.slot);
160
+ return (orderOlderThanOracleDelay ||
161
+ isLiquidation ||
162
+ (order.bitFlags & types_1.OrderBitFlag.SafeTriggerOrder) !== 0);
163
+ }
164
+ exports.isLowRiskForAmm = isLowRiskForAmm;
155
165
  function calculateBaseAssetAmountForAmmToFulfill(order, market, mmOraclePriceData, slot) {
156
166
  if (mustBeTriggered(order) && !isTriggered(order)) {
157
167
  return numericConstants_1.ZERO;
@@ -1165,7 +1165,8 @@ export type AMM = {
1165
1165
  netUnsettledFundingPnl: BN;
1166
1166
  quoteAssetAmountWithUnsettledLp: BN;
1167
1167
  referencePriceOffset: number;
1168
- takerSpeedBumpOverride: number;
1168
+ oracleLowRiskSlotDelayOverride: number;
1169
+ oracleSlotDelayOverride: number;
1169
1170
  ammSpreadAdjustment: number;
1170
1171
  ammInventorySpreadAdjustment: number;
1171
1172
  lastFundingOracleTwap: BN;
@@ -1480,6 +1481,16 @@ export type OracleGuardRails = {
1480
1481
  tooVolatileRatio: BN;
1481
1482
  };
1482
1483
  };
1484
+ export declare enum OracleValidity {
1485
+ NonPositive = 0,
1486
+ TooVolatile = 1,
1487
+ TooUncertain = 2,
1488
+ StaleForMargin = 3,
1489
+ InsufficientDataPoints = 4,
1490
+ StaleForAMMLowRisk = 5,
1491
+ isStaleForAmmImmediate = 6,
1492
+ Valid = 7
1493
+ }
1483
1494
  export type PrelaunchOracle = {
1484
1495
  price: BN;
1485
1496
  maxPrice: BN;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SwapReduceOnly = exports.PlaceAndTakeOrderSuccessCondition = exports.FuelOverflowStatus = exports.ReferrerStatus = exports.DefaultOrderParams = exports.ModifyOrderPolicy = exports.OrderParamsBitFlag = exports.PostOnlyParams = exports.LiquidationType = exports.LPAction = exports.TradeSide = exports.getVariant = exports.isOneOfVariant = exports.isVariant = exports.SettlePnlMode = exports.StakeAction = exports.SpotFulfillmentConfigStatus = exports.SettlePnlExplanation = exports.DepositExplanation = exports.SpotFulfillmentStatus = exports.SpotFulfillmentType = exports.OrderTriggerCondition = exports.OrderActionExplanation = exports.OrderAction = exports.OrderBitFlag = exports.OrderStatus = exports.MarketType = exports.OrderType = exports.OracleSourceNum = exports.OracleSource = exports.DepositDirection = exports.PositionDirection = exports.SpotBalanceType = exports.SwapDirection = exports.TokenProgramFlag = exports.AssetTier = exports.ContractTier = exports.ContractType = exports.MarginMode = exports.UserStatus = exports.InsuranceFundOperation = exports.SpotOperation = exports.PerpOperation = exports.MarketStatus = exports.FeatureBitFlags = exports.ExchangeStatus = void 0;
3
+ exports.OracleValidity = exports.SwapReduceOnly = exports.PlaceAndTakeOrderSuccessCondition = exports.FuelOverflowStatus = exports.ReferrerStatus = exports.DefaultOrderParams = exports.ModifyOrderPolicy = exports.OrderParamsBitFlag = exports.PostOnlyParams = exports.LiquidationType = exports.LPAction = exports.TradeSide = exports.getVariant = exports.isOneOfVariant = exports.isVariant = exports.SettlePnlMode = exports.StakeAction = exports.SpotFulfillmentConfigStatus = exports.SettlePnlExplanation = exports.DepositExplanation = exports.SpotFulfillmentStatus = exports.SpotFulfillmentType = exports.OrderTriggerCondition = exports.OrderActionExplanation = exports.OrderAction = exports.OrderBitFlag = exports.OrderStatus = exports.MarketType = exports.OrderType = exports.OracleSourceNum = exports.OracleSource = exports.DepositDirection = exports.PositionDirection = exports.SpotBalanceType = exports.SwapDirection = exports.TokenProgramFlag = exports.AssetTier = exports.ContractTier = exports.ContractType = exports.MarginMode = exports.UserStatus = exports.InsuranceFundOperation = exports.SpotOperation = exports.PerpOperation = exports.MarketStatus = exports.FeatureBitFlags = exports.ExchangeStatus = void 0;
4
4
  const numericConstants_1 = require("./constants/numericConstants");
5
5
  // # Utility Types / Enums / Constants
6
6
  var ExchangeStatus;
@@ -407,3 +407,14 @@ class SwapReduceOnly {
407
407
  exports.SwapReduceOnly = SwapReduceOnly;
408
408
  SwapReduceOnly.In = { in: {} };
409
409
  SwapReduceOnly.Out = { out: {} };
410
+ var OracleValidity;
411
+ (function (OracleValidity) {
412
+ OracleValidity[OracleValidity["NonPositive"] = 0] = "NonPositive";
413
+ OracleValidity[OracleValidity["TooVolatile"] = 1] = "TooVolatile";
414
+ OracleValidity[OracleValidity["TooUncertain"] = 2] = "TooUncertain";
415
+ OracleValidity[OracleValidity["StaleForMargin"] = 3] = "StaleForMargin";
416
+ OracleValidity[OracleValidity["InsufficientDataPoints"] = 4] = "InsufficientDataPoints";
417
+ OracleValidity[OracleValidity["StaleForAMMLowRisk"] = 5] = "StaleForAMMLowRisk";
418
+ OracleValidity[OracleValidity["isStaleForAmmImmediate"] = 6] = "isStaleForAmmImmediate";
419
+ OracleValidity[OracleValidity["Valid"] = 7] = "Valid";
420
+ })(OracleValidity || (exports.OracleValidity = OracleValidity = {}));
@@ -201,8 +201,8 @@ export declare class AdminClient extends DriftClient {
201
201
  getUpdateSpotMarketFuelIx(spotMarketIndex: number, fuelBoostDeposits?: number, fuelBoostBorrows?: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostInsurance?: number): Promise<TransactionInstruction>;
202
202
  updatePerpMarketFuel(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise<TransactionSignature>;
203
203
  getUpdatePerpMarketFuelIx(perpMarketIndex: number, fuelBoostTaker?: number, fuelBoostMaker?: number, fuelBoostPosition?: number): Promise<TransactionInstruction>;
204
- updatePerpMarketTakerSpeedBumpOverride(perpMarketIndex: number, takerSpeedBumpOverride: number): Promise<TransactionSignature>;
205
- getUpdatePerpMarketTakerSpeedBumpOverrideIx(perpMarketIndex: number, takerSpeedBumpOverride: number): Promise<TransactionInstruction>;
204
+ updatePerpMarketOracleLowRiskSlotDelayOverride(perpMarketIndex: number, oracleLowRiskSlotDelayOverride: number): Promise<TransactionSignature>;
205
+ getUpdatePerpMarketOracleLowRiskSlotDelayOverrideIx(perpMarketIndex: number, oracleLowRiskSlotDelayOverride: number): Promise<TransactionInstruction>;
206
206
  updatePerpMarketOracleSlotDelayOverride(perpMarketIndex: number, oracleSlotDelay: number): Promise<TransactionSignature>;
207
207
  getUpdatePerpMarketOracleSlotDelayOverrideIx(perpMarketIndex: number, oracleSlotDelay: number): Promise<TransactionInstruction>;
208
208
  updatePerpMarketAmmSpreadAdjustment(perpMarketIndex: number, ammSpreadAdjustment: number, ammInventorySpreadAdjustment: number, referencePriceOffset: number): Promise<TransactionSignature>;
@@ -1 +1 @@
1
- {"version":3,"file":"adminClient.d.ts","sourceRoot":"","sources":["../../src/adminClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adminClient.d.ts","sourceRoot":"","sources":["../../src/adminClient.ts"],"names":[],"mappings":"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"}