@drift-labs/sdk 0.1.18-orders.1 → 0.1.18

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 (108) hide show
  1. package/README.md +2 -1
  2. package/lib/accounts/defaultClearingHouseAccountSubscriber.d.ts +4 -7
  3. package/lib/accounts/defaultClearingHouseAccountSubscriber.d.ts.map +1 -0
  4. package/lib/accounts/defaultClearingHouseAccountSubscriber.js +1 -26
  5. package/lib/accounts/defaultUserAccountSubscriber.d.ts +2 -3
  6. package/lib/accounts/defaultUserAccountSubscriber.d.ts.map +1 -0
  7. package/lib/accounts/defaultUserAccountSubscriber.js +4 -13
  8. package/lib/accounts/types.d.ts +6 -32
  9. package/lib/accounts/types.d.ts.map +1 -0
  10. package/lib/accounts/webSocketAccountSubscriber.d.ts +1 -0
  11. package/lib/accounts/webSocketAccountSubscriber.d.ts.map +1 -0
  12. package/lib/addresses.d.ts +1 -4
  13. package/lib/addresses.d.ts.map +1 -0
  14. package/lib/addresses.js +1 -28
  15. package/lib/admin.d.ts +6 -10
  16. package/lib/admin.d.ts.map +1 -0
  17. package/lib/admin.js +44 -50
  18. package/lib/assert/assert.d.ts +1 -0
  19. package/lib/assert/assert.d.ts.map +1 -0
  20. package/lib/clearingHouse.d.ts +3 -22
  21. package/lib/clearingHouse.d.ts.map +1 -0
  22. package/lib/clearingHouse.js +7 -238
  23. package/lib/clearingHouseUser.d.ts +17 -10
  24. package/lib/clearingHouseUser.d.ts.map +1 -0
  25. package/lib/clearingHouseUser.js +84 -98
  26. package/lib/config.d.ts +1 -0
  27. package/lib/config.d.ts.map +1 -0
  28. package/lib/config.js +1 -1
  29. package/lib/constants/markets.d.ts +1 -0
  30. package/lib/constants/markets.d.ts.map +1 -0
  31. package/lib/constants/markets.js +16 -0
  32. package/lib/constants/numericConstants.d.ts +1 -0
  33. package/lib/constants/numericConstants.d.ts.map +1 -0
  34. package/lib/examples/makeTradeExample.d.ts +1 -0
  35. package/lib/examples/makeTradeExample.d.ts.map +1 -0
  36. package/lib/idl/clearing_house.json +233 -911
  37. package/lib/index.d.ts +1 -4
  38. package/lib/index.d.ts.map +1 -0
  39. package/lib/index.js +0 -4
  40. package/lib/math/amm.d.ts +1 -1
  41. package/lib/math/amm.d.ts.map +1 -0
  42. package/lib/math/amm.js +8 -31
  43. package/lib/math/conversion.d.ts +1 -0
  44. package/lib/math/conversion.d.ts.map +1 -0
  45. package/lib/math/funding.d.ts +1 -0
  46. package/lib/math/funding.d.ts.map +1 -0
  47. package/lib/math/funding.js +4 -1
  48. package/lib/math/insuranceFund.d.ts +1 -0
  49. package/lib/math/insuranceFund.d.ts.map +1 -0
  50. package/lib/math/market.d.ts +2 -2
  51. package/lib/math/market.d.ts.map +1 -0
  52. package/lib/math/market.js +1 -11
  53. package/lib/math/position.d.ts +2 -4
  54. package/lib/math/position.d.ts.map +1 -0
  55. package/lib/math/position.js +4 -18
  56. package/lib/math/trade.d.ts +1 -0
  57. package/lib/math/trade.d.ts.map +1 -0
  58. package/lib/math/utils.d.ts +1 -0
  59. package/lib/math/utils.d.ts.map +1 -0
  60. package/lib/mockUSDCFaucet.d.ts +1 -0
  61. package/lib/mockUSDCFaucet.d.ts.map +1 -0
  62. package/lib/pythClient.d.ts +1 -0
  63. package/lib/pythClient.d.ts.map +1 -0
  64. package/lib/tx/defaultTxSender.d.ts +1 -0
  65. package/lib/tx/defaultTxSender.d.ts.map +1 -0
  66. package/lib/tx/types.d.ts +1 -0
  67. package/lib/tx/types.d.ts.map +1 -0
  68. package/lib/tx/utils.d.ts +1 -0
  69. package/lib/tx/utils.d.ts.map +1 -0
  70. package/lib/types.d.ts +8 -140
  71. package/lib/types.d.ts.map +1 -0
  72. package/lib/types.js +1 -36
  73. package/lib/util/computeUnits.d.ts +1 -0
  74. package/lib/util/computeUnits.d.ts.map +1 -0
  75. package/lib/util/tps.d.ts +1 -0
  76. package/lib/util/tps.d.ts.map +1 -0
  77. package/lib/wallet.d.ts +1 -0
  78. package/lib/wallet.d.ts.map +1 -0
  79. package/package.json +1 -1
  80. package/src/accounts/defaultClearingHouseAccountSubscriber.ts +5 -52
  81. package/src/accounts/defaultUserAccountSubscriber.ts +6 -31
  82. package/src/accounts/types.ts +5 -42
  83. package/src/addresses.ts +0 -35
  84. package/src/admin.ts +52 -86
  85. package/src/clearingHouse.ts +7 -340
  86. package/src/clearingHouseUser.ts +102 -154
  87. package/src/config.ts +1 -1
  88. package/src/constants/markets.ts +16 -0
  89. package/src/idl/clearing_house.json +233 -911
  90. package/src/index.ts +0 -4
  91. package/src/math/amm.ts +14 -47
  92. package/src/math/funding.ts +5 -1
  93. package/src/math/market.ts +2 -28
  94. package/src/math/position.ts +3 -23
  95. package/src/types.ts +7 -124
  96. package/tsconfig.json +1 -0
  97. package/lib/accounts/defaultHistoryAccountSubscriber.d.ts +0 -28
  98. package/lib/accounts/defaultHistoryAccountSubscriber.js +0 -110
  99. package/lib/math/orders.d.ts +0 -3
  100. package/lib/math/orders.js +0 -30
  101. package/lib/orderParams.d.ts +0 -7
  102. package/lib/orderParams.js +0 -88
  103. package/lib/orders.d.ts +0 -5
  104. package/lib/orders.js +0 -136
  105. package/src/accounts/defaultHistoryAccountSubscriber.ts +0 -176
  106. package/src/math/orders.ts +0 -39
  107. package/src/orderParams.ts +0 -128
  108. package/src/orders.ts +0 -230
package/lib/index.d.ts CHANGED
@@ -3,7 +3,6 @@ export * from './mockUSDCFaucet';
3
3
  export * from './pythClient';
4
4
  export * from './types';
5
5
  export * from './constants/markets';
6
- export * from './accounts/defaultHistoryAccountSubscriber';
7
6
  export * from './accounts/defaultClearingHouseAccountSubscriber';
8
7
  export * from './accounts/types';
9
8
  export * from './addresses';
@@ -17,9 +16,6 @@ export * from './math/market';
17
16
  export * from './math/position';
18
17
  export * from './math/amm';
19
18
  export * from './math/trade';
20
- export * from './math/orders';
21
- export * from './orders';
22
- export * from './orderParams';
23
19
  export * from './wallet';
24
20
  export * from './types';
25
21
  export * from './math/utils';
@@ -28,3 +24,4 @@ export * from './constants/numericConstants';
28
24
  export * from './util/computeUnits';
29
25
  export * from './util/tps';
30
26
  export { BN };
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAE3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,kDAAkD,CAAC;AACjE,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,EAAE,EAAE,CAAC"}
package/lib/index.js CHANGED
@@ -17,7 +17,6 @@ __exportStar(require("./mockUSDCFaucet"), exports);
17
17
  __exportStar(require("./pythClient"), exports);
18
18
  __exportStar(require("./types"), exports);
19
19
  __exportStar(require("./constants/markets"), exports);
20
- __exportStar(require("./accounts/defaultHistoryAccountSubscriber"), exports);
21
20
  __exportStar(require("./accounts/defaultClearingHouseAccountSubscriber"), exports);
22
21
  __exportStar(require("./accounts/types"), exports);
23
22
  __exportStar(require("./addresses"), exports);
@@ -31,9 +30,6 @@ __exportStar(require("./math/market"), exports);
31
30
  __exportStar(require("./math/position"), exports);
32
31
  __exportStar(require("./math/amm"), exports);
33
32
  __exportStar(require("./math/trade"), exports);
34
- __exportStar(require("./math/orders"), exports);
35
- __exportStar(require("./orders"), exports);
36
- __exportStar(require("./orderParams"), exports);
37
33
  __exportStar(require("./wallet"), exports);
38
34
  __exportStar(require("./types"), exports);
39
35
  __exportStar(require("./math/utils"), exports);
package/lib/math/amm.d.ts CHANGED
@@ -63,4 +63,4 @@ export declare function calculateRepegCost(market: Market, marketIndex: BN, newP
63
63
  * @returns cost : Precision MARK_PRICE_PRECISION
64
64
  */
65
65
  export declare function calculateTerminalPrice(market: Market): BN;
66
- export declare function calculateMaxBaseAssetAmountToTrade(amm: AMM, limit_price: BN): [BN, PositionDirection];
66
+ //# sourceMappingURL=amm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amm.d.ts","sourceRoot":"","sources":["../../src/math/amm.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAQ3C,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIzE;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC7B,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,EAAE,EACpB,cAAc,EAAE,EAAE,GAChB,EAAE,CAUJ;AAED,oBAAY,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC5C,GAAG,EAAE,GAAG,EACR,cAAc,EAAE,SAAS,EACzB,UAAU,EAAE,EAAE,EACd,aAAa,EAAE,aAAa,GAC1B,CAAC,EAAE,EAAE,EAAE,CAAC,CA2BV;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,iBAAiB,EAAE,EAAE,EACrB,UAAU,EAAE,EAAE,EACd,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,EAAE,GACX,CAAC,EAAE,EAAE,EAAE,CAAC,CASV;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC/B,cAAc,EAAE,SAAS,EACzB,iBAAiB,EAAE,iBAAiB,GAClC,aAAa,CAgBf;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,EAAE,EACf,SAAS,EAAE,EAAE,EACb,WAAW,EAAE,EAAE,GACb,EAAE,CA0BJ;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,GACR,EAAE,CA2BJ;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,MAuBpD"}
package/lib/math/amm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateMaxBaseAssetAmountToTrade = exports.calculateTerminalPrice = exports.calculateRepegCost = exports.calculateAdjustKCost = exports.getSwapDirection = exports.calculateSwapOutput = exports.calculateAmmReservesAfterSwap = exports.calculatePrice = void 0;
3
+ exports.calculateTerminalPrice = exports.calculateRepegCost = exports.calculateAdjustKCost = exports.getSwapDirection = exports.calculateSwapOutput = exports.calculateAmmReservesAfterSwap = exports.calculatePrice = void 0;
4
4
  const anchor_1 = require("@project-serum/anchor");
5
5
  const numericConstants_1 = require("../constants/numericConstants");
6
6
  const position_1 = require("./position");
@@ -79,10 +79,12 @@ exports.calculateSwapOutput = calculateSwapOutput;
79
79
  * @param positionDirection
80
80
  */
81
81
  function getSwapDirection(inputAssetType, positionDirection) {
82
- if (types_1.isVariant(positionDirection, 'long') && inputAssetType === 'base') {
82
+ if (positionDirection === types_1.PositionDirection.LONG &&
83
+ inputAssetType === 'base') {
83
84
  return types_1.SwapDirection.REMOVE;
84
85
  }
85
- if (types_1.isVariant(positionDirection, 'short') && inputAssetType === 'quote') {
86
+ if (positionDirection === types_1.PositionDirection.SHORT &&
87
+ inputAssetType === 'quote') {
86
88
  return types_1.SwapDirection.REMOVE;
87
89
  }
88
90
  return types_1.SwapDirection.ADD;
@@ -102,7 +104,6 @@ function calculateAdjustKCost(market, marketIndex, numerator, denomenator) {
102
104
  lastCumulativeFundingRate: market.amm.cumulativeFundingRate,
103
105
  marketIndex: new anchor_1.BN(marketIndex),
104
106
  quoteAssetAmount: new anchor_1.BN(0),
105
- openOrders: new anchor_1.BN(0),
106
107
  };
107
108
  const currentValue = position_1.calculateBaseAssetValue(market, netUserPosition);
108
109
  const marketNewK = Object.assign({}, market);
@@ -133,7 +134,6 @@ function calculateRepegCost(market, marketIndex, newPeg) {
133
134
  lastCumulativeFundingRate: market.amm.cumulativeFundingRate,
134
135
  marketIndex: new anchor_1.BN(marketIndex),
135
136
  quoteAssetAmount: new anchor_1.BN(0),
136
- openOrders: new anchor_1.BN(0),
137
137
  };
138
138
  const currentValue = position_1.calculateBaseAssetValue(market, netUserPosition);
139
139
  netUserPosition.quoteAssetAmount = currentValue;
@@ -154,6 +154,9 @@ exports.calculateRepegCost = calculateRepegCost;
154
154
  * @returns cost : Precision MARK_PRICE_PRECISION
155
155
  */
156
156
  function calculateTerminalPrice(market) {
157
+ if (!market.initialized) {
158
+ return new anchor_1.BN(0);
159
+ }
157
160
  const directionToClose = market.baseAssetAmount.gt(numericConstants_1.ZERO)
158
161
  ? types_1.PositionDirection.SHORT
159
162
  : types_1.PositionDirection.LONG;
@@ -166,29 +169,3 @@ function calculateTerminalPrice(market) {
166
169
  return terminalPrice;
167
170
  }
168
171
  exports.calculateTerminalPrice = calculateTerminalPrice;
169
- function calculateMaxBaseAssetAmountToTrade(amm, limit_price) {
170
- const invariant = amm.sqrtK.mul(amm.sqrtK);
171
- const newBaseAssetReserveSquared = invariant
172
- .mul(numericConstants_1.MARK_PRICE_PRECISION)
173
- .mul(amm.pegMultiplier)
174
- .div(limit_price)
175
- .div(numericConstants_1.PEG_PRECISION);
176
- const newBaseAssetReserve = __1.squareRootBN(newBaseAssetReserveSquared);
177
- if (newBaseAssetReserve.gt(amm.baseAssetReserve)) {
178
- return [
179
- newBaseAssetReserve.sub(amm.baseAssetReserve),
180
- types_1.PositionDirection.SHORT,
181
- ];
182
- }
183
- else if (newBaseAssetReserve.lt(amm.baseAssetReserve)) {
184
- return [
185
- amm.baseAssetReserve.sub(newBaseAssetReserve),
186
- types_1.PositionDirection.LONG,
187
- ];
188
- }
189
- else {
190
- console.log('tradeSize Too Small');
191
- return [new anchor_1.BN(0), types_1.PositionDirection.LONG];
192
- }
193
- }
194
- exports.calculateMaxBaseAssetAmountToTrade = calculateMaxBaseAssetAmountToTrade;
@@ -1,3 +1,4 @@
1
1
  import BN from 'bn.js';
2
2
  export declare const convertToNumber: (bigNumber: BN, precision?: BN) => number;
3
3
  export declare const convertBaseAssetAmountToNumber: (baseAssetAmount: BN) => number;
4
+ //# sourceMappingURL=conversion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conversion.d.ts","sourceRoot":"","sources":["../../src/math/conversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAMvB,eAAO,MAAM,eAAe,cAChB,EAAE,cACF,EAAE,WAOb,CAAC;AAEF,eAAO,MAAM,8BAA8B,oBAAqB,EAAE,WAKjE,CAAC"}
@@ -41,3 +41,4 @@ export declare function calculateLongShortFundingRateAndLiveTwaps(market: Market
41
41
  * @returns Estimated fee pool size
42
42
  */
43
43
  export declare function calculateFundingPool(market: Market): BN;
44
+ //# sourceMappingURL=funding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"funding.d.ts","sourceRoot":"","sources":["../../src/math/funding.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAOhD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;;GAMG;AACH,wBAAsB,gCAAgC,CACrD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CA2K/B;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,EAAE,EAAc,EAChC,gBAAgB,EAAE,cAAc,GAAG,YAAY,GAAG,QAAQ,GACxD,OAAO,CAAC,EAAE,CAAC,CAgBb;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CAClD,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAenB;AAED;;;;;;GAMG;AACH,wBAAsB,yCAAyC,CAC9D,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,SAAS,EAC1B,gBAAgB,GAAE,EAAc,GAC9B,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAe3B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAWvD"}
@@ -242,7 +242,10 @@ exports.calculateLongShortFundingRateAndLiveTwaps = calculateLongShortFundingRat
242
242
  function calculateFundingPool(market) {
243
243
  // todo
244
244
  const totalFeeLB = market.amm.totalFee.div(new anchor_1.BN(2));
245
- const feePool = anchor_1.BN.max(numericConstants_1.ZERO, market.amm.totalFeeMinusDistributions.sub(totalFeeLB));
245
+ const feePool = anchor_1.BN.max(numericConstants_1.ZERO, market.amm.totalFeeMinusDistributions
246
+ .sub(totalFeeLB)
247
+ .mul(new anchor_1.BN(2))
248
+ .div(new anchor_1.BN(3)));
246
249
  return feePool;
247
250
  }
248
251
  exports.calculateFundingPool = calculateFundingPool;
@@ -12,3 +12,4 @@ import { Connection } from '@solana/web3.js';
12
12
  * @returns Precision : QUOTE_ASSET_PRECISION
13
13
  */
14
14
  export declare function calculateInsuranceFundSize(connection: Connection, state: StateAccount, marketsAccount: MarketsAccount): Promise<BN>;
15
+ //# sourceMappingURL=insuranceFund.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insuranceFund.d.ts","sourceRoot":"","sources":["../../src/math/insuranceFund.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,MAAM,OAAO,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC/C,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,YAAY,EACnB,cAAc,EAAE,cAAc,GAC5B,OAAO,CAAC,EAAE,CAAC,CAUb"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="bn.js" />
2
2
  import { BN } from '@project-serum/anchor';
3
- import { Market, PositionDirection } from '../types';
3
+ import { Market } from '../types';
4
4
  /**
5
5
  * Calculates market mark price
6
6
  *
@@ -8,4 +8,4 @@ import { Market, PositionDirection } from '../types';
8
8
  * @return markPrice : Precision MARK_PRICE_PRECISION
9
9
  */
10
10
  export declare function calculateMarkPrice(market: Market): BN;
11
- export declare function calculateNewMarketAfterTrade(baseAssetAmount: BN, direction: PositionDirection, market: Market): Market;
11
+ //# sourceMappingURL=market.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"market.d.ts","sourceRoot":"","sources":["../../src/math/market.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAMrD"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateNewMarketAfterTrade = exports.calculateMarkPrice = void 0;
3
+ exports.calculateMarkPrice = void 0;
4
4
  const amm_1 = require("./amm");
5
5
  /**
6
6
  * Calculates market mark price
@@ -12,13 +12,3 @@ function calculateMarkPrice(market) {
12
12
  return amm_1.calculatePrice(market.amm.baseAssetReserve, market.amm.quoteAssetReserve, market.amm.pegMultiplier);
13
13
  }
14
14
  exports.calculateMarkPrice = calculateMarkPrice;
15
- function calculateNewMarketAfterTrade(baseAssetAmount, direction, market) {
16
- const [newQuoteAssetReserve, newBaseAssetReserve] = amm_1.calculateAmmReservesAfterSwap(market.amm, 'base', baseAssetAmount.abs(), amm_1.getSwapDirection('base', direction));
17
- const newAmm = Object.assign({}, market.amm);
18
- const newMarket = Object.assign({}, market);
19
- newMarket.amm = newAmm;
20
- newMarket.amm.quoteAssetReserve = newQuoteAssetReserve;
21
- newMarket.amm.baseAssetReserve = newBaseAssetReserve;
22
- return newMarket;
23
- }
24
- exports.calculateNewMarketAfterTrade = calculateNewMarketAfterTrade;
@@ -1,5 +1,5 @@
1
1
  import BN from 'bn.js';
2
- import { Market, PositionDirection, UserPosition } from '../types';
2
+ import { Market, UserPosition } from '../types';
3
3
  /**
4
4
  * calculateBaseAssetValue
5
5
  * = market value of closing entire position
@@ -30,6 +30,4 @@ export declare function calculatePositionFundingPNL(market: Market, marketPositi
30
30
  * @returns Precision: MARK_PRICE_PRECISION (10^10)
31
31
  */
32
32
  export declare function calculateEntryPrice(userPosition: UserPosition): BN;
33
- export declare function findDirectionToClose(userPosition: UserPosition): PositionDirection;
34
- export declare function positionCurrentDirection(userPosition: UserPosition): PositionDirection;
35
- export declare function isEmptyPosition(userPosition: UserPosition): boolean;
33
+ //# sourceMappingURL=position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"position.d.ts","sourceRoot":"","sources":["../../src/math/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,OAAO,CAAC;AAWvB,OAAO,EAAE,MAAM,EAAqB,YAAY,EAAE,MAAM,UAAU,CAAC;AAGnE;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,GACxB,EAAE,CA6BJ;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CACnC,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,YAAY,EAC5B,WAAW,UAAQ,GACjB,EAAE,CAwBJ;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,YAAY,GAC1B,EAAE,CAoBJ;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,YAAY,GAAG,EAAE,CAUlE"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.isEmptyPosition = exports.positionCurrentDirection = exports.findDirectionToClose = exports.calculateEntryPrice = exports.calculatePositionFundingPNL = exports.calculatePositionPNL = exports.calculateBaseAssetValue = void 0;
6
+ exports.calculateEntryPrice = exports.calculatePositionFundingPNL = exports.calculatePositionPNL = exports.calculateBaseAssetValue = void 0;
7
7
  const bn_js_1 = __importDefault(require("bn.js"));
8
8
  const numericConstants_1 = require("../constants/numericConstants");
9
9
  const types_1 = require("../types");
@@ -19,7 +19,9 @@ function calculateBaseAssetValue(market, userPosition) {
19
19
  if (userPosition.baseAssetAmount.eq(numericConstants_1.ZERO)) {
20
20
  return numericConstants_1.ZERO;
21
21
  }
22
- const directionToClose = findDirectionToClose(userPosition);
22
+ const directionToClose = userPosition.baseAssetAmount.gt(numericConstants_1.ZERO)
23
+ ? types_1.PositionDirection.SHORT
24
+ : types_1.PositionDirection.LONG;
23
25
  const [newQuoteAssetReserve, _] = amm_1.calculateAmmReservesAfterSwap(market.amm, 'base', userPosition.baseAssetAmount.abs(), amm_1.getSwapDirection('base', directionToClose));
24
26
  switch (directionToClose) {
25
27
  case types_1.PositionDirection.SHORT:
@@ -104,19 +106,3 @@ function calculateEntryPrice(userPosition) {
104
106
  .abs();
105
107
  }
106
108
  exports.calculateEntryPrice = calculateEntryPrice;
107
- function findDirectionToClose(userPosition) {
108
- return userPosition.baseAssetAmount.gt(numericConstants_1.ZERO)
109
- ? types_1.PositionDirection.SHORT
110
- : types_1.PositionDirection.LONG;
111
- }
112
- exports.findDirectionToClose = findDirectionToClose;
113
- function positionCurrentDirection(userPosition) {
114
- return userPosition.baseAssetAmount.gte(numericConstants_1.ZERO)
115
- ? types_1.PositionDirection.LONG
116
- : types_1.PositionDirection.SHORT;
117
- }
118
- exports.positionCurrentDirection = positionCurrentDirection;
119
- function isEmptyPosition(userPosition) {
120
- return (userPosition.baseAssetAmount.eq(numericConstants_1.ZERO) && userPosition.openOrders.eq(numericConstants_1.ZERO));
121
- }
122
- exports.isEmptyPosition = isEmptyPosition;
@@ -45,3 +45,4 @@ export declare function calculateTradeAcquiredAmounts(direction: PositionDirecti
45
45
  * ]
46
46
  */
47
47
  export declare function calculateTargetPriceTrade(market: Market, targetPrice: BN, pct?: BN, outputAssetType?: AssetType): [PositionDirection, BN, BN, BN];
48
+ //# sourceMappingURL=trade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trade.d.ts","sourceRoot":"","sources":["../../src/math/trade.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAC;AAS3C,OAAO,EAIN,SAAS,EACT,MAAM,OAAO,CAAC;AAKf,oBAAY,eAAe,GACxB,YAAY,GACZ,UAAU,GACV,YAAY,GACZ,oBAAoB,GACpB,QAAQ,GACR,QAAQ,GACR,kBAAkB,GAClB,qBAAqB,GACrB,yBAAyB,GACzB,0BAA0B,GAC1B,KAAK,CAAC;AAET;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CACrC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,SAAmB,GACjC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CA0ClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,EAAE,EACV,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,SAAmB,GACjC,CAAC,EAAE,EAAE,EAAE,CAAC,CAiBV;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,EAAE,EACf,GAAG,GAAE,EAAW,EAChB,eAAe,GAAE,SAAmB,GAClC,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAgHjC"}
@@ -1,2 +1,3 @@
1
1
  /// <reference types="bn.js" />
2
2
  export declare const squareRootBN: (n: any, closeness?: import("bn.js")) => any;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/math/utils.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,YAAY,8CA0BxB,CAAC"}
@@ -33,3 +33,4 @@ export declare class MockUSDCFaucet {
33
33
  callback: (accountInfo: AccountInfo) => void;
34
34
  }): Promise<boolean>;
35
35
  }
36
+ //# sourceMappingURL=mockUSDCFaucet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockUSDCFaucet.d.ts","sourceRoot":"","sources":["../src/mockUSDCFaucet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAO,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EACN,WAAW,EAKX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACN,cAAc,EACd,UAAU,EACV,SAAS,EAIT,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,qBAAa,cAAc;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,CAAC,EAAE,cAAc,CAAC;gBAGrB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,EACpB,IAAI,CAAC,EAAE,cAAc;IAUT,uCAAuC,IAAI,OAAO,CAC9D;QAAC,SAAS;QAAE,MAAM;KAAC,CACnB;IAOD,4BAA4B,CAAC,EAAE,SAAS,CAAC;IAC5B,+BAA+B,IAAI,OAAO,CAAC,SAAS,CAAC;IAUrD,UAAU,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA8C3C,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAM1B,UAAU,CACtB,gBAAgB,EAAE,SAAS,EAC3B,MAAM,EAAE,EAAE,GACR,OAAO,CAAC,oBAAoB,CAAC;IAanB,qCAAqC,CACjD,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,EAAE,GACR,OAAO,CAAC,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAWhC,iDAAiD,CAC7D,aAAa,EAAE,SAAS,EACxB,MAAM,EAAE,EAAE,GACR,OAAO,CAAC,CAAC,SAAS,EAAE,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;IA8B1D,gCAAgC,CAAC,KAAK,EAAE;QACpD,UAAU,EAAE,SAAS,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;IAWrB,mBAAmB,CAAC,KAAK,EAAE;QACvC,UAAU,EAAE,SAAS,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC;IAiBX,uBAAuB,CAAC,KAAK,EAAE;QAC3C,UAAU,EAAE,SAAS,CAAC;QACtB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;KAC7C,GAAG,OAAO,CAAC,OAAO,CAAC;CAuBpB"}
@@ -5,3 +5,4 @@ export declare class PythClient {
5
5
  constructor(connection: Connection);
6
6
  getPriceData(pricePublicKey: PublicKey): Promise<PriceData>;
7
7
  }
8
+ //# sourceMappingURL=pythClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pythClient.d.ts","sourceRoot":"","sources":["../src/pythClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAExD,qBAAa,UAAU;IACtB,OAAO,CAAC,UAAU,CAAa;gBAEZ,UAAU,EAAE,UAAU;IAI5B,YAAY,CAAC,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;CAIxE"}
@@ -6,3 +6,4 @@ export declare class DefaultTxSender implements TxSender {
6
6
  constructor(provider: Provider);
7
7
  send(tx: Transaction, additionalSigners?: Array<Signer>, opts?: ConfirmOptions): Promise<TransactionSignature>;
8
8
  }
9
+ //# sourceMappingURL=defaultTxSender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaultTxSender.d.ts","sourceRoot":"","sources":["../../src/tx/defaultTxSender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EACN,cAAc,EACd,MAAM,EACN,WAAW,EACX,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,qBAAa,eAAgB,YAAW,QAAQ;IAC/C,QAAQ,EAAE,QAAQ,CAAC;gBAEA,QAAQ,EAAE,QAAQ;IAIrC,IAAI,CACH,EAAE,EAAE,WAAW,EACf,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,IAAI,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC,oBAAoB,CAAC;CAGhC"}
package/lib/tx/types.d.ts CHANGED
@@ -2,3 +2,4 @@ import { ConfirmOptions, Signer, Transaction, TransactionSignature } from '@sola
2
2
  export interface TxSender {
3
3
  send(tx: Transaction, additionalSigners?: Array<Signer>, opts?: ConfirmOptions): Promise<TransactionSignature>;
4
4
  }
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tx/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,EACd,MAAM,EACN,WAAW,EACX,oBAAoB,EACpB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,QAAQ;IACxB,IAAI,CACH,EAAE,EAAE,WAAW,EACf,iBAAiB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EACjC,IAAI,CAAC,EAAE,cAAc,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACjC"}
package/lib/tx/utils.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  import { Transaction, TransactionInstruction } from '@solana/web3.js';
2
2
  export declare function wrapInTx(instruction: TransactionInstruction): Transaction;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/tx/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,wBAAgB,QAAQ,CAAC,WAAW,EAAE,sBAAsB,GAAG,WAAW,CAEzE"}
package/lib/types.d.ts CHANGED
@@ -24,65 +24,6 @@ export declare class OracleSource {
24
24
  switchboard: {};
25
25
  };
26
26
  }
27
- export declare class OrderType {
28
- static readonly LIMIT: {
29
- limit: {};
30
- };
31
- static readonly STOP: {
32
- stop: {};
33
- };
34
- static readonly STOP_LIMIT: {
35
- stopLimit: {};
36
- };
37
- static readonly MARKET: {
38
- market: {};
39
- };
40
- }
41
- export declare class OrderStatus {
42
- static readonly INIT: {
43
- init: {};
44
- };
45
- static readonly OPEN: {
46
- open: {};
47
- };
48
- }
49
- export declare class OrderDiscountTier {
50
- static readonly NONE: {
51
- none: {};
52
- };
53
- static readonly FIRST: {
54
- first: {};
55
- };
56
- static readonly SECOND: {
57
- second: {};
58
- };
59
- static readonly THIRD: {
60
- third: {};
61
- };
62
- static readonly FOURTH: {
63
- fourth: {};
64
- };
65
- }
66
- export declare class OrderAction {
67
- static readonly PLACE: {
68
- place: {};
69
- };
70
- static readonly CANCEL: {
71
- cancel: {};
72
- };
73
- static readonly FILL: {
74
- fill: {};
75
- };
76
- }
77
- export declare class OrderTriggerCondition {
78
- static readonly ABOVE: {
79
- above: {};
80
- };
81
- static readonly BELOW: {
82
- below: {};
83
- };
84
- }
85
- export declare function isVariant(object: unknown, type: string): boolean;
86
27
  export declare enum TradeSide {
87
28
  None = 0,
88
29
  Buy = 1,
@@ -97,9 +38,9 @@ export declare type DepositHistoryAccount = {
97
38
  head: BN;
98
39
  depositRecords: DepositRecord[];
99
40
  };
100
- export declare type CurveHistoryAccount = {
41
+ export declare type ExtendedCurveHistoryAccount = {
101
42
  head: BN;
102
- curveRecords: CurveRecord[];
43
+ curveRecords: ExtendedCurveRecord[];
103
44
  };
104
45
  export declare type FundingRateHistoryAccount = {
105
46
  head: BN;
@@ -113,11 +54,6 @@ export declare type LiquidationHistoryAccount = {
113
54
  head: BN;
114
55
  liquidationRecords: LiquidationRecord[];
115
56
  };
116
- export declare type OrderHistoryAccount = {
117
- head: BN;
118
- lastOrderId: BN;
119
- orderRecords: OrderRecord[];
120
- };
121
57
  export declare type DepositRecord = {
122
58
  ts: BN;
123
59
  recordId: BN;
@@ -131,7 +67,7 @@ export declare type DepositRecord = {
131
67
  cumulativeDepositsBefore: BN;
132
68
  amount: BN;
133
69
  };
134
- export declare type CurveRecord = {
70
+ export declare type ExtendedCurveRecord = {
135
71
  ts: BN;
136
72
  recordId: BN;
137
73
  marketIndex: BN;
@@ -147,6 +83,8 @@ export declare type CurveRecord = {
147
83
  baseAssetAmountShort: BN;
148
84
  baseAssetAmount: BN;
149
85
  openInterest: BN;
86
+ oraclePrice: BN;
87
+ tradeId: BN;
150
88
  };
151
89
  export declare type TradeRecord = {
152
90
  ts: BN;
@@ -209,20 +147,6 @@ export declare type LiquidationRecord = {
209
147
  unrealizedPnl: BN;
210
148
  marginRatio: BN;
211
149
  };
212
- export declare type OrderRecord = {
213
- ts: BN;
214
- recordId: BN;
215
- order: Order;
216
- user: PublicKey;
217
- authority: PublicKey;
218
- action: OrderAction;
219
- filler: PublicKey;
220
- baseAssetAmountFilled: BN;
221
- quoteAssetAmountFilled: BN;
222
- fee: BN;
223
- fillerReward: BN;
224
- tradeRecordId: BN;
225
- };
226
150
  export declare type StateAccount = {
227
151
  admin: PublicKey;
228
152
  fundingPaused: boolean;
@@ -260,12 +184,7 @@ export declare type StateAccount = {
260
184
  discountMint: PublicKey;
261
185
  oracleGuardRails: OracleGuardRails;
262
186
  maxDeposit: BN;
263
- orderState: PublicKey;
264
- };
265
- export declare type OrderStateAccount = {
266
- orderHistory: PublicKey;
267
- orderFillerRewardStructure: OrderFillerRewardStructure;
268
- minOrderQuoteAssetAmount: BN;
187
+ extendedCurveHistory: PublicKey;
269
188
  };
270
189
  export declare type MarketsAccount = {
271
190
  accountIndex: BN;
@@ -301,15 +220,13 @@ export declare type AMM = {
301
220
  totalFeeMinusDistributions: BN;
302
221
  totalFeeWithdrawn: BN;
303
222
  totalFee: BN;
304
- minimumQuoteAssetTradeSize: BN;
305
- minimumBaseAssetTradeSize: BN;
223
+ minimumTradeSize: BN;
306
224
  };
307
225
  export declare type UserPosition = {
308
226
  baseAssetAmount: BN;
309
227
  lastCumulativeFundingRate: BN;
310
228
  marketIndex: BN;
311
229
  quoteAssetAmount: BN;
312
- openOrders: BN;
313
230
  };
314
231
  export declare type UserPositionsAccount = {
315
232
  positions: UserPosition[];
@@ -321,51 +238,6 @@ export declare type UserAccount = {
321
238
  cumulativeDeposits: BN;
322
239
  positions: PublicKey;
323
240
  totalFeePaid: BN;
324
- totalTokenDiscount: BN;
325
- totalReferralReward: BN;
326
- totalRefereeDiscount: BN;
327
- };
328
- export declare type UserOrdersAccount = {
329
- orders: Order[];
330
- user: PublicKey;
331
- };
332
- export declare type Order = {
333
- status: OrderStatus;
334
- orderType: OrderType;
335
- ts: BN;
336
- orderId: BN;
337
- marketIndex: BN;
338
- price: BN;
339
- baseAssetAmount: BN;
340
- baseAssetAmountFilled: BN;
341
- quoteAssetAmount: BN;
342
- quoteAssetAmountFilled: BN;
343
- fee: BN;
344
- direction: PositionDirection;
345
- reduceOnly: boolean;
346
- triggerPrice: BN;
347
- triggerCondition: OrderTriggerCondition;
348
- discountTier: OrderDiscountTier;
349
- referrer: PublicKey;
350
- postOnly: boolean;
351
- immediateOrCancel: boolean;
352
- };
353
- export declare type OrderParams = {
354
- orderType: OrderType;
355
- direction: PositionDirection;
356
- quoteAssetAmount: BN;
357
- baseAssetAmount: BN;
358
- price: BN;
359
- marketIndex: BN;
360
- reduceOnly: boolean;
361
- postOnly: boolean;
362
- immediateOrCancel: boolean;
363
- triggerPrice: BN;
364
- triggerCondition: OrderTriggerCondition;
365
- optionalAccounts: {
366
- discountToken: boolean;
367
- referrer: boolean;
368
- };
369
241
  };
370
242
  export interface IWallet {
371
243
  signTransaction(tx: Transaction): Promise<Transaction>;
@@ -416,8 +288,4 @@ export declare type OracleGuardRails = {
416
288
  };
417
289
  useForLiquidations: boolean;
418
290
  };
419
- export declare type OrderFillerRewardStructure = {
420
- rewardNumerator: BN;
421
- rewardDenominator: BN;
422
- timeBasedRewardLowerBound: BN;
423
- };
291
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TradeSide = exports.isVariant = exports.OrderTriggerCondition = exports.OrderAction = exports.OrderDiscountTier = exports.OrderStatus = exports.OrderType = exports.OracleSource = exports.PositionDirection = exports.SwapDirection = void 0;
3
+ exports.TradeSide = exports.OracleSource = exports.PositionDirection = exports.SwapDirection = void 0;
4
4
  // # Utility Types / Enums / Constants
5
5
  class SwapDirection {
6
6
  }
@@ -17,41 +17,6 @@ class OracleSource {
17
17
  exports.OracleSource = OracleSource;
18
18
  OracleSource.PYTH = { pyth: {} };
19
19
  OracleSource.SWITCHBOARD = { switchboard: {} };
20
- class OrderType {
21
- }
22
- exports.OrderType = OrderType;
23
- OrderType.LIMIT = { limit: {} };
24
- OrderType.STOP = { stop: {} };
25
- OrderType.STOP_LIMIT = { stopLimit: {} };
26
- OrderType.MARKET = { market: {} };
27
- class OrderStatus {
28
- }
29
- exports.OrderStatus = OrderStatus;
30
- OrderStatus.INIT = { init: {} };
31
- OrderStatus.OPEN = { open: {} };
32
- class OrderDiscountTier {
33
- }
34
- exports.OrderDiscountTier = OrderDiscountTier;
35
- OrderDiscountTier.NONE = { none: {} };
36
- OrderDiscountTier.FIRST = { first: {} };
37
- OrderDiscountTier.SECOND = { second: {} };
38
- OrderDiscountTier.THIRD = { third: {} };
39
- OrderDiscountTier.FOURTH = { fourth: {} };
40
- class OrderAction {
41
- }
42
- exports.OrderAction = OrderAction;
43
- OrderAction.PLACE = { place: {} };
44
- OrderAction.CANCEL = { cancel: {} };
45
- OrderAction.FILL = { fill: {} };
46
- class OrderTriggerCondition {
47
- }
48
- exports.OrderTriggerCondition = OrderTriggerCondition;
49
- OrderTriggerCondition.ABOVE = { above: {} };
50
- OrderTriggerCondition.BELOW = { below: {} };
51
- function isVariant(object, type) {
52
- return object.hasOwnProperty(type);
53
- }
54
- exports.isVariant = isVariant;
55
20
  var TradeSide;
56
21
  (function (TradeSide) {
57
22
  TradeSide[TradeSide["None"] = 0] = "None";
@@ -1,2 +1,3 @@
1
1
  import { Connection, Finality, PublicKey } from '@solana/web3.js';
2
2
  export declare function findComputeUnitConsumption(programId: PublicKey, connection: Connection, txSignature: string, commitment?: Finality): Promise<number[]>;
3
+ //# sourceMappingURL=computeUnits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeUnits.d.ts","sourceRoot":"","sources":["../../src/util/computeUnits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAElE,wBAAsB,0BAA0B,CAC/C,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,QAAsB,GAChC,OAAO,CAAC,MAAM,EAAE,CAAC,CAanB"}