aftermath-ts-sdk 1.3.12-perps.19 → 1.3.12-perps.21

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 (27) hide show
  1. package/dist/general/types/generalTypes.d.ts +3 -0
  2. package/dist/general/types/generalTypes.d.ts.map +1 -1
  3. package/dist/general/utils/caller.d.ts +14 -2
  4. package/dist/general/utils/caller.d.ts.map +1 -1
  5. package/dist/general/utils/caller.js +25 -0
  6. package/dist/packages/perpetuals/api/perpetualsApi.js +2 -2
  7. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts +2 -6
  8. package/dist/packages/perpetuals/api/perpetualsApiCasting.d.ts.map +1 -1
  9. package/dist/packages/perpetuals/api/perpetualsApiCasting.js +74 -66
  10. package/dist/packages/perpetuals/index.d.ts +1 -0
  11. package/dist/packages/perpetuals/index.d.ts.map +1 -1
  12. package/dist/packages/perpetuals/index.js +1 -0
  13. package/dist/packages/perpetuals/perpetuals.d.ts +50 -14
  14. package/dist/packages/perpetuals/perpetuals.d.ts.map +1 -1
  15. package/dist/packages/perpetuals/perpetuals.js +73 -45
  16. package/dist/packages/perpetuals/perpetualsAccount.d.ts +54 -21
  17. package/dist/packages/perpetuals/perpetualsAccount.d.ts.map +1 -1
  18. package/dist/packages/perpetuals/perpetualsAccount.js +227 -111
  19. package/dist/packages/perpetuals/perpetualsMarket.d.ts +15 -16
  20. package/dist/packages/perpetuals/perpetualsMarket.d.ts.map +1 -1
  21. package/dist/packages/perpetuals/perpetualsMarket.js +45 -57
  22. package/dist/packages/perpetuals/perpetualsTypes.d.ts +324 -150
  23. package/dist/packages/perpetuals/perpetualsTypes.d.ts.map +1 -1
  24. package/dist/packages/perpetuals/perpetualsVault.d.ts +109 -0
  25. package/dist/packages/perpetuals/perpetualsVault.d.ts.map +1 -0
  26. package/dist/packages/perpetuals/perpetualsVault.js +290 -0
  27. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Caller } from "../../general/utils/caller";
2
- import { CoinType, ObjectId, PerpetualsMarketId, PerpetualsMarketParams, PerpetualsMarketState, PerpetualsOrderData, PerpetualsOrderId, PerpetualsOrderPrice, PerpetualsOrderSide, PerpetualsOrderbook, PerpetualsPosition, Timestamp, PerpetualsMarketData, ApiDataWithCursorBody, PerpetualsTradeHistoryWithCursor, CallerConfig, Percentage, PerpetualsMarket24hrStats, SdkPerpetualsPlaceLimitOrderPreviewInputs, SdkPerpetualsPlaceMarketOrderPreviewInputs } from "../../types";
2
+ import { CoinType, PerpetualsMarketId, PerpetualsMarketParams, PerpetualsMarketState, PerpetualsOrderData, PerpetualsOrderSide, PerpetualsOrderbook, PerpetualsPosition, Timestamp, PerpetualsMarketData, ApiDataWithCursorBody, PerpetualsTradeHistoryWithCursor, CallerConfig, Percentage, PerpetualsMarket24hrStats, SdkPerpetualsPlaceLimitOrderPreviewInputs, SdkPerpetualsPlaceMarketOrderPreviewInputs, PerpetualsAccountId } from "../../types";
3
3
  export declare class PerpetualsMarket extends Caller {
4
4
  marketData: PerpetualsMarketData;
5
5
  readonly marketId: PerpetualsMarketId;
@@ -12,13 +12,14 @@ export declare class PerpetualsMarket extends Caller {
12
12
  getOrderbookMidPrice(): Promise<number | undefined>;
13
13
  get24hrStats(): Promise<PerpetualsMarket24hrStats>;
14
14
  getOrderbook(): Promise<PerpetualsOrderbook>;
15
- getMaxOrderSizeUsd: (inputs: {
16
- accountObjectId: ObjectId;
17
- indexPrice: number;
15
+ getMaxOrderSize: (inputs: {
16
+ accountId: PerpetualsAccountId;
18
17
  side: PerpetualsOrderSide;
19
- leverage: number;
20
- price?: PerpetualsOrderPrice;
21
- }) => Promise<number>;
18
+ leverage?: number;
19
+ price?: number;
20
+ }) => Promise<{
21
+ maxOrderSize: bigint;
22
+ }>;
22
23
  getPlaceMarketOrderPreview(inputs: SdkPerpetualsPlaceMarketOrderPreviewInputs, abortSignal?: AbortSignal): Promise<{
23
24
  error: string;
24
25
  } | {
@@ -55,12 +56,6 @@ export declare class PerpetualsMarket extends Caller {
55
56
  estimatedFundingRate: (inputs: {
56
57
  indexPrice: number;
57
58
  }) => number;
58
- priceToOrderPrice: (inputs: {
59
- price: number;
60
- }) => PerpetualsOrderPrice;
61
- orderPriceToPrice: (inputs: {
62
- orderPrice: PerpetualsOrderPrice;
63
- }) => number;
64
59
  calcCollateralUsedForOrder: (inputs: {
65
60
  leverage: number;
66
61
  orderData: PerpetualsOrderData;
@@ -75,12 +70,16 @@ export declare class PerpetualsMarket extends Caller {
75
70
  maxLeverage(): number;
76
71
  initialMarginRatio(): number;
77
72
  maintenanceMarginRatio(): number;
78
- orderPrice(inputs: {
79
- orderId: PerpetualsOrderId;
80
- }): number;
81
73
  roundToValidPrice: (inputs: {
82
74
  price: number;
75
+ floor?: boolean;
76
+ ceil?: boolean;
83
77
  }) => number;
78
+ roundToValidPriceBigInt: (inputs: {
79
+ price: number;
80
+ floor?: boolean;
81
+ ceil?: boolean;
82
+ }) => bigint;
84
83
  roundToValidSize: (inputs: {
85
84
  size: number;
86
85
  floor?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"perpetualsMarket.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsMarket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"perpetualsMarket.d.ts","sourceRoot":"","sources":["../../../src/packages/perpetuals/perpetualsMarket.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PerpetualsMarket = void 0;
13
13
  const __1 = require("../..");
14
14
  const caller_1 = require("../../general/utils/caller");
15
- const iFixedUtils_1 = require("../../general/utils/iFixedUtils");
16
15
  const perpetuals_1 = require("./perpetuals");
17
- const utils_1 = require("./utils");
18
16
  class PerpetualsMarket extends caller_1.Caller {
19
17
  // =========================================================================
20
18
  // Constructor
@@ -25,17 +23,15 @@ class PerpetualsMarket extends caller_1.Caller {
25
23
  super(config, "perpetuals");
26
24
  this.marketData = marketData;
27
25
  // TODO: move/add to account ?
28
- this.getMaxOrderSizeUsd = (inputs) => __awaiter(this, void 0, void 0, function* () {
29
- const { side, price, accountObjectId, indexPrice, leverage } = inputs;
30
- const maxSize = yield this.fetchApi("account/order-max-size", {
26
+ this.getMaxOrderSize = (inputs) => __awaiter(this, void 0, void 0, function* () {
27
+ const { side, price, accountId, leverage } = inputs;
28
+ return this.fetchApi("account/max-order-size", {
31
29
  side,
32
30
  price,
33
31
  leverage,
34
- accountObjectId,
32
+ accountId,
35
33
  marketId: this.marketId,
36
34
  });
37
- // TODO: perform calculation on endpoint ?
38
- return Number(maxSize) * this.lotSize() * indexPrice;
39
35
  });
40
36
  // =========================================================================
41
37
  // Calculations
@@ -45,7 +41,7 @@ class PerpetualsMarket extends caller_1.Caller {
45
41
  };
46
42
  this.nextFundingTimeMs = () => {
47
43
  const fundingFrequencyMs = Number(this.marketParams.fundingFrequencyMs);
48
- const lastFundingIntervalNumber = Math.floor(this.marketState.fundingLastUpdateMs / fundingFrequencyMs);
44
+ const lastFundingIntervalNumber = Math.floor(this.marketState.fundingLastUpdateTimestamp / fundingFrequencyMs);
49
45
  return (lastFundingIntervalNumber + 1) * fundingFrequencyMs;
50
46
  };
51
47
  // The funding rate as the difference between book and index TWAPs relative to the index price,
@@ -55,32 +51,12 @@ class PerpetualsMarket extends caller_1.Caller {
55
51
  // To get the rate as a percentage, multiply the output by 100.
56
52
  this.estimatedFundingRate = (inputs) => {
57
53
  const { indexPrice } = inputs;
58
- const premiumTwap = iFixedUtils_1.IFixedUtils.numberFromIFixed(this.marketState.premiumTwap);
54
+ const premiumTwap = this.marketState.premiumTwap;
59
55
  const relativePremium = premiumTwap / indexPrice;
60
56
  const periodAdjustment = Number(this.marketParams.fundingFrequencyMs) /
61
57
  Number(this.marketParams.fundingPeriodMs);
62
58
  return relativePremium * periodAdjustment;
63
59
  };
64
- this.priceToOrderPrice = (inputs) => {
65
- const { price } = inputs;
66
- const lotSize = this.marketParams.lotSize;
67
- const tickSize = this.marketParams.tickSize;
68
- return perpetuals_1.Perpetuals.priceToOrderPrice({
69
- price,
70
- lotSize,
71
- tickSize,
72
- });
73
- };
74
- this.orderPriceToPrice = (inputs) => {
75
- const { orderPrice } = inputs;
76
- const lotSize = this.marketParams.lotSize;
77
- const tickSize = this.marketParams.tickSize;
78
- return perpetuals_1.Perpetuals.orderPriceToPrice({
79
- orderPrice,
80
- lotSize,
81
- tickSize,
82
- });
83
- };
84
60
  this.calcCollateralUsedForOrder = (inputs) => {
85
61
  const { leverage, orderData, indexPrice, collateralPrice } = inputs;
86
62
  const imr = 1 / (leverage || 1);
@@ -95,8 +71,27 @@ class PerpetualsMarket extends caller_1.Caller {
95
71
  collateral,
96
72
  };
97
73
  };
74
+ // =========================================================================
75
+ // Helpers
76
+ // =========================================================================
98
77
  this.roundToValidPrice = (inputs) => {
99
- return Math.round(inputs.price / this.tickSize()) * this.tickSize();
78
+ const ticks = inputs.price / this.tickSize();
79
+ return ((inputs.floor
80
+ ? Math.floor(ticks)
81
+ : inputs.ceil
82
+ ? Math.ceil(ticks)
83
+ : Math.round(ticks)) * this.lotSize());
84
+ };
85
+ this.roundToValidPriceBigInt = (inputs) => {
86
+ const scaledPrice = Number(inputs.price * __1.Casting.Fixed.fixedOneN9);
87
+ // TODO: make sure this calc is safe
88
+ return ((BigInt(inputs.floor
89
+ ? Math.floor(scaledPrice)
90
+ : inputs.ceil
91
+ ? Math.ceil(scaledPrice)
92
+ : Math.round(scaledPrice)) /
93
+ this.marketParams.tickSize) *
94
+ this.marketParams.tickSize);
100
95
  };
101
96
  this.roundToValidSize = (inputs) => {
102
97
  const lots = inputs.size / this.lotSize();
@@ -107,28 +102,30 @@ class PerpetualsMarket extends caller_1.Caller {
107
102
  : Math.round(lots)) * this.lotSize());
108
103
  };
109
104
  this.roundToValidSizeBigInt = (inputs) => {
110
- const sizeLots = Number(inputs.size * __1.Casting.Fixed.fixedOneN9);
105
+ const scaledSize = Number(inputs.size * __1.Casting.Fixed.fixedOneN9);
111
106
  // TODO: make sure this calc is safe
112
- return (BigInt(inputs.floor
113
- ? Math.floor(sizeLots)
107
+ return ((BigInt(inputs.floor
108
+ ? Math.floor(scaledSize)
114
109
  : inputs.ceil
115
- ? Math.ceil(sizeLots)
116
- : Math.round(sizeLots)) / this.marketParams.lotSize);
110
+ ? Math.ceil(scaledSize)
111
+ : Math.round(scaledSize)) /
112
+ this.marketParams.lotSize) *
113
+ this.marketParams.lotSize);
117
114
  };
118
115
  this.emptyPosition = () => {
119
116
  return {
120
117
  marketId: this.marketId,
121
118
  collateralCoinType: this.marketData.collateralCoinType,
122
- collateral: BigInt(0),
123
- baseAssetAmount: BigInt(0),
124
- quoteAssetNotionalAmount: BigInt(0),
119
+ collateral: 0,
120
+ baseAssetAmount: 0,
121
+ quoteAssetNotionalAmount: 0,
125
122
  cumFundingRateLong: this.marketData.marketState.cumFundingRateLong,
126
123
  cumFundingRateShort: this.marketData.marketState.cumFundingRateShort,
127
- asksQuantity: BigInt(0),
128
- bidsQuantity: BigInt(0),
124
+ asksQuantity: 0,
125
+ bidsQuantity: 0,
129
126
  pendingOrders: [],
130
- makerFee: BigInt(1000000000000000000), // 100%
131
- takerFee: BigInt(1000000000000000000), // 100%
127
+ makerFee: 1, // 100%
128
+ takerFee: 1, // 100%
132
129
  leverage: 1,
133
130
  };
134
131
  };
@@ -170,12 +167,12 @@ class PerpetualsMarket extends caller_1.Caller {
170
167
  }
171
168
  getPlaceMarketOrderPreview(inputs, abortSignal) {
172
169
  return __awaiter(this, void 0, void 0, function* () {
173
- return this.fetchApi("previews/place-market-order", Object.assign(Object.assign({}, inputs), { collateralCoinType: this.collateralCoinType, accountObjectId: undefined }), abortSignal);
170
+ return this.fetchApi("previews/place-market-order", Object.assign(Object.assign({}, inputs), { collateralCoinType: this.collateralCoinType, accountId: undefined }), abortSignal);
174
171
  });
175
172
  }
176
173
  getPlaceLimitOrderPreview(inputs, abortSignal) {
177
174
  return __awaiter(this, void 0, void 0, function* () {
178
- return this.fetchApi("previews/place-limit-order", Object.assign(Object.assign({}, inputs), { collateralCoinType: this.collateralCoinType, accountObjectId: undefined }), abortSignal);
175
+ return this.fetchApi("previews/place-limit-order", Object.assign(Object.assign({}, inputs), { collateralCoinType: this.collateralCoinType, accountId: undefined }), abortSignal);
179
176
  });
180
177
  }
181
178
  // =========================================================================
@@ -208,22 +205,13 @@ class PerpetualsMarket extends caller_1.Caller {
208
205
  return perpetuals_1.Perpetuals.lotOrTickSizeToNumber(this.marketParams.tickSize);
209
206
  }
210
207
  maxLeverage() {
211
- return (1 /
212
- __1.Casting.IFixed.numberFromIFixed(this.marketParams.marginRatioInitial));
208
+ return 1 / this.marketParams.marginRatioInitial;
213
209
  }
214
210
  initialMarginRatio() {
215
- return __1.Casting.IFixed.numberFromIFixed(this.marketParams.marginRatioInitial);
211
+ return this.marketParams.marginRatioInitial;
216
212
  }
217
213
  maintenanceMarginRatio() {
218
- return __1.Casting.IFixed.numberFromIFixed(this.marketParams.marginRatioMaintenance);
219
- }
220
- // =========================================================================
221
- // Helpers
222
- // =========================================================================
223
- orderPrice(inputs) {
224
- const { orderId } = inputs;
225
- const orderPrice = utils_1.PerpetualsOrderUtils.price(orderId);
226
- return this.orderPriceToPrice({ orderPrice });
214
+ return this.marketParams.marginRatioMaintenance;
227
215
  }
228
216
  }
229
217
  exports.PerpetualsMarket = PerpetualsMarket;