@d8x/perpetuals-sdk 2.1.0-alpha2 → 2.1.1-alpha2

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 (97) hide show
  1. package/dist/cjs/abi/IPerpetualManager.json +30 -1
  2. package/dist/cjs/accountTrade.d.ts +3 -3
  3. package/dist/cjs/accountTrade.js +1 -1
  4. package/dist/cjs/accountTrade.js.map +1 -1
  5. package/dist/cjs/brokerTool.js +7 -7
  6. package/dist/cjs/brokerTool.js.map +1 -1
  7. package/dist/cjs/config/defaultConfig.json +0 -12
  8. package/dist/cjs/config/priceFeedConfig.json +1 -1
  9. package/dist/cjs/constants.d.ts +0 -1
  10. package/dist/cjs/constants.js +2 -3
  11. package/dist/cjs/constants.js.map +1 -1
  12. package/dist/cjs/contracts/IPerpetualManager.d.ts +20 -4
  13. package/dist/cjs/contracts/factories/IPerpetualManager__factory.d.ts +23 -1
  14. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js +30 -1
  15. package/dist/cjs/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  16. package/dist/cjs/d8XMath.d.ts +16 -1
  17. package/dist/cjs/d8XMath.js +28 -5
  18. package/dist/cjs/d8XMath.js.map +1 -1
  19. package/dist/cjs/liquidatorTool.js +2 -2
  20. package/dist/cjs/liquidatorTool.js.map +1 -1
  21. package/dist/cjs/marketData.d.ts +3 -3
  22. package/dist/cjs/marketData.js +38 -16
  23. package/dist/cjs/marketData.js.map +1 -1
  24. package/dist/cjs/nodeSDKTypes.d.ts +3 -2
  25. package/dist/cjs/nodeSDKTypes.js.map +1 -1
  26. package/dist/cjs/perpetualDataHandler.d.ts +9 -8
  27. package/dist/cjs/perpetualDataHandler.js +17 -6
  28. package/dist/cjs/perpetualDataHandler.js.map +1 -1
  29. package/dist/cjs/polyMktsPxFeed.d.ts +1 -1
  30. package/dist/cjs/polyMktsPxFeed.js +15 -4
  31. package/dist/cjs/polyMktsPxFeed.js.map +1 -1
  32. package/dist/cjs/priceFeeds.js +2 -2
  33. package/dist/cjs/priceFeeds.js.map +1 -1
  34. package/dist/cjs/version.d.ts +1 -1
  35. package/dist/cjs/version.js +1 -1
  36. package/dist/cjs/writeAccessHandler.js +1 -1
  37. package/dist/cjs/writeAccessHandler.js.map +1 -1
  38. package/dist/esm/abi/IPerpetualManager.json +30 -1
  39. package/dist/esm/accountTrade.d.ts +3 -3
  40. package/dist/esm/accountTrade.js +1 -1
  41. package/dist/esm/accountTrade.js.map +1 -1
  42. package/dist/esm/brokerTool.js +7 -7
  43. package/dist/esm/brokerTool.js.map +1 -1
  44. package/dist/esm/config/defaultConfig.json +0 -12
  45. package/dist/esm/config/priceFeedConfig.json +1 -1
  46. package/dist/esm/constants.d.ts +0 -1
  47. package/dist/esm/constants.js +1 -2
  48. package/dist/esm/constants.js.map +1 -1
  49. package/dist/esm/contracts/IPerpetualManager.d.ts +20 -4
  50. package/dist/esm/contracts/factories/IPerpetualManager__factory.d.ts +23 -1
  51. package/dist/esm/contracts/factories/IPerpetualManager__factory.js +30 -1
  52. package/dist/esm/contracts/factories/IPerpetualManager__factory.js.map +1 -1
  53. package/dist/esm/d8XMath.d.ts +16 -1
  54. package/dist/esm/d8XMath.js +26 -4
  55. package/dist/esm/d8XMath.js.map +1 -1
  56. package/dist/esm/liquidatorTool.js +2 -2
  57. package/dist/esm/liquidatorTool.js.map +1 -1
  58. package/dist/esm/marketData.d.ts +3 -3
  59. package/dist/esm/marketData.js +39 -17
  60. package/dist/esm/marketData.js.map +1 -1
  61. package/dist/esm/nodeSDKTypes.d.ts +3 -2
  62. package/dist/esm/nodeSDKTypes.js.map +1 -1
  63. package/dist/esm/perpetualDataHandler.d.ts +9 -8
  64. package/dist/esm/perpetualDataHandler.js +19 -8
  65. package/dist/esm/perpetualDataHandler.js.map +1 -1
  66. package/dist/esm/polyMktsPxFeed.d.ts +1 -1
  67. package/dist/esm/polyMktsPxFeed.js +15 -4
  68. package/dist/esm/polyMktsPxFeed.js.map +1 -1
  69. package/dist/esm/priceFeeds.js +2 -2
  70. package/dist/esm/priceFeeds.js.map +1 -1
  71. package/dist/esm/version.d.ts +1 -1
  72. package/dist/esm/version.js +1 -1
  73. package/dist/esm/writeAccessHandler.js +3 -3
  74. package/dist/esm/writeAccessHandler.js.map +1 -1
  75. package/doc/brokerTool.md +3 -1
  76. package/doc/d8x-perpetuals-sdk.md +804 -132
  77. package/doc/marketData.md +813 -0
  78. package/doc/perpetualDataHandler.md +76 -7
  79. package/package.json +1 -1
  80. package/src/abi/IPerpetualManager.json +30 -1
  81. package/src/accountTrade.ts +3 -3
  82. package/src/brokerTool.ts +7 -7
  83. package/src/config/defaultConfig.json +0 -13
  84. package/src/config/priceFeedConfig.json +1 -1
  85. package/src/constants.ts +1 -2
  86. package/src/contracts/IPerpetualManager.ts +33 -3
  87. package/src/contracts/factories/IPerpetualManager__factory.ts +30 -1
  88. package/src/d8XMath.ts +27 -4
  89. package/src/liquidatorTool.ts +2 -2
  90. package/src/marketData.ts +41 -20
  91. package/src/nodeSDKTypes.ts +3 -2
  92. package/src/perpetualDataHandler.ts +26 -15
  93. package/src/polyMktsPxFeed.ts +15 -4
  94. package/src/priceFeeds.ts +2 -2
  95. package/src/version.ts +1 -1
  96. package/src/writeAccessHandler.ts +2 -2
  97. package/src/abi-zkevm/IPerpetualManager.json +0 -5366
@@ -78,9 +78,9 @@ export default class MarketData extends PerpetualDataHandler {
78
78
  * }
79
79
  * main();
80
80
  *
81
- * @returns {Contract} read-only proxy instance
81
+ * @returns read-only proxy instance
82
82
  */
83
- getReadOnlyProxyInstance(): Contract;
83
+ getReadOnlyProxyInstance(): import("./contracts").IPerpetualManager;
84
84
  /**
85
85
  * Information about the products traded in the exchange.
86
86
  * @example
@@ -450,7 +450,7 @@ export default class MarketData extends PerpetualDataHandler {
450
450
  *
451
451
  * @returns {number} Price of index in given currency.
452
452
  */
453
- getOraclePrice(base: string, quote: string, overrides?: Overrides): Promise<number | undefined>;
453
+ getOraclePrice(base: string, quote: string, overrides?: Overrides): Promise<[bigint, bigint]>;
454
454
  /**
455
455
  * Get the status of an order given a symbol and order Id
456
456
  * @param symbol Symbol of the form ETH-USD-MATIC
@@ -52,7 +52,7 @@ class MarketData extends perpetualDataHandler_1.default {
52
52
  const mktData = providerOrMarketData;
53
53
  this.nodeURL = mktData.config.nodeURL;
54
54
  this.provider = new ethers_1.JsonRpcProvider(mktData.config.nodeURL, mktData.network, { staticNetwork: true });
55
- this.proxyContract = new ethers_1.Contract(mktData.getProxyAddress(), this.config.proxyABI, this.provider);
55
+ this.proxyContract = contracts_1.IPerpetualManager__factory.connect(mktData.getProxyAddress(), this.provider);
56
56
  this.multicall = contracts_1.Multicall3__factory.connect(this.config.multicall ?? constants_1.MULTICALL_ADDRESS, this.provider);
57
57
  ({
58
58
  nestedPerpetualIDs: this.nestedPerpetualIDs,
@@ -106,7 +106,7 @@ class MarketData extends perpetualDataHandler_1.default {
106
106
  * }
107
107
  * main();
108
108
  *
109
- * @returns {Contract} read-only proxy instance
109
+ * @returns read-only proxy instance
110
110
  */
111
111
  getReadOnlyProxyInstance() {
112
112
  if (this.proxyContract == null) {
@@ -323,7 +323,7 @@ class MarketData extends perpetualDataHandler_1.default {
323
323
  const isPredMkt = this.isPredictionMarket(symbol);
324
324
  // create all calls
325
325
  const perpId = perpetualDataHandler_1.default.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
326
- const [fS2, fS3, fEma] = [indexPriceInfo.s2, indexPriceInfo.s3, indexPriceInfo.ema].map((x) => (0, d8XMath_1.floatToABK64x64)(x));
326
+ const [fS2, fS3, fEma] = [indexPriceInfo.s2, indexPriceInfo.s3 ?? 0, indexPriceInfo.ema].map((x) => (0, d8XMath_1.floatToABK64x64)(x));
327
327
  const proxyCalls = [
328
328
  // 0: traderState
329
329
  {
@@ -383,7 +383,7 @@ class MarketData extends perpetualDataHandler_1.default {
383
383
  fPrice = this.proxyContract.interface.decodeFunctionResult("queryPerpetualPrice", encodedResults[1].returnData)[0];
384
384
  }
385
385
  else {
386
- fPrice = await this.proxyContract.queryPerpetualPrice(perpId, (0, d8XMath_1.floatToABK64x64)(tradeAmountBC), [indexPriceInfo.s2, indexPriceInfo.s3], indexPriceInfo.conf, indexPriceInfo.predMktCLOBParams);
386
+ fPrice = await this.proxyContract.queryPerpetualPrice(perpId, (0, d8XMath_1.floatToABK64x64)(tradeAmountBC), [(0, d8XMath_1.floatToABK64x64)(indexPriceInfo.s2), (0, d8XMath_1.floatToABK64x64)(indexPriceInfo.s3 ?? 0)], indexPriceInfo.conf, indexPriceInfo.predMktCLOBParams);
387
387
  }
388
388
  ammPrice = (0, d8XMath_1.ABK64x64ToFloat)(fPrice);
389
389
  }
@@ -544,11 +544,21 @@ class MarketData extends perpetualDataHandler_1.default {
544
544
  let newMarginCashCC = currentMarginCashCC + deltaCashCC + traderDepositCC;
545
545
  let newEntryPrice = newPositionBC == 0 ? 0 : Math.abs(newLockedInValueQC / newPositionBC);
546
546
  let newMarginBalanceCC = newMarginCashCC + (newPositionBC * Sm - newLockedInValueQC) / S3;
547
- let newLeverage = newPositionBC == 0
548
- ? 0
549
- : newMarginBalanceCC <= 0
550
- ? Infinity
551
- : (Math.abs(newPositionBC) * Sm) / S3 / newMarginBalanceCC;
547
+ let newLeverage;
548
+ if (newPositionBC === 0) {
549
+ newLeverage = 0;
550
+ }
551
+ else if (newMarginBalanceCC <= 0) {
552
+ newLeverage = Infinity;
553
+ }
554
+ else {
555
+ let p = Sm;
556
+ if (isPredMkt) {
557
+ p -= 1;
558
+ p = newPositionBC > 0 ? p : 1 - p;
559
+ }
560
+ newLeverage = Math.abs(newPositionBC * p) / S3 / newMarginBalanceCC;
561
+ }
552
562
  // Liquidation params
553
563
  let [S2Liq, S3Liq, tau] = MarketData._getLiquidationParams(account.symbol, newLockedInValueQC, newPositionBC, newMarginCashCC, Sm, S3, S2, this.symbolToPerpStaticInfo);
554
564
  // New position risk
@@ -898,7 +908,7 @@ class MarketData extends perpetualDataHandler_1.default {
898
908
  const perpId = perpetualDataHandler_1.default.symbolToPerpetualId(symbol, this.symbolToPerpStaticInfo);
899
909
  const poolInfo = this.poolStaticInfos[this.getPoolStaticInfoIndexFromSymbol(symbol)];
900
910
  const indexPriceInfo = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
901
- const [fS2, fS3, fEma] = [indexPriceInfo.s2, indexPriceInfo.s3, indexPriceInfo.ema].map((x) => (0, d8XMath_1.floatToABK64x64)(x));
911
+ const [fS2, fS3, fEma] = [indexPriceInfo.s2, indexPriceInfo.s3 ?? 0, indexPriceInfo.ema].map((x) => (0, d8XMath_1.floatToABK64x64)(x));
902
912
  const proxyCalls = [
903
913
  // 0: traderState
904
914
  {
@@ -943,8 +953,8 @@ class MarketData extends perpetualDataHandler_1.default {
943
953
  const availCashCC = account.collateralCC + walletBalance + account.unrealizedFundingCollateralCCY;
944
954
  const idxNotional = 4;
945
955
  const [maxShortPosPerp, maxLongPosPerp] = await this.getMaxShortLongPos(perpId, traderState[idxNotional], overrides);
946
- const maxShort = (0, d8XMath_1.pmFindMaxTradeSize)(-1, currentPositionBC, availCashCC, account.entryPrice * currentPositionBC, Sm, Sm, indexPriceInfo.s3, totLong, totShort, maxShortPosPerp, maxLongPosPerp);
947
- const maxLong = (0, d8XMath_1.pmFindMaxTradeSize)(-1, currentPositionBC, availCashCC, account.entryPrice * currentPositionBC, Sm, Sm, indexPriceInfo.s3, totLong, totShort, maxShortPosPerp, maxLongPosPerp);
956
+ const maxShort = (0, d8XMath_1.pmFindMaxTradeSize)(-1, currentPositionBC, availCashCC, account.entryPrice * currentPositionBC, Sm, Sm, indexPriceInfo.s3 ?? 0, totLong, totShort, maxShortPosPerp, maxLongPosPerp);
957
+ const maxLong = (0, d8XMath_1.pmFindMaxTradeSize)(1, currentPositionBC, availCashCC, account.entryPrice * currentPositionBC, Sm, Sm, indexPriceInfo.s3 ?? 0, totLong, totShort, maxShortPosPerp, maxLongPosPerp);
948
958
  return { buy: maxLong, sell: maxShort };
949
959
  }
950
960
  /**
@@ -1001,7 +1011,7 @@ class MarketData extends perpetualDataHandler_1.default {
1001
1011
  const isPredMkt = false;
1002
1012
  const indexPriceInfo = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
1003
1013
  let coll2SettlePromise = this.fetchCollateralToSettlementConversion(symbol);
1004
- const [fS2, fS3, fEma] = [indexPriceInfo.s2, indexPriceInfo.s3, indexPriceInfo.ema].map((x) => (0, d8XMath_1.floatToABK64x64)(x));
1014
+ const [fS2, fS3, fEma] = [indexPriceInfo.s2, indexPriceInfo.s3 ?? 0, indexPriceInfo.ema].map((x) => (0, d8XMath_1.floatToABK64x64)(x));
1005
1015
  if (!this.proxyContract || !this.multicall) {
1006
1016
  throw new Error("proxy contract not initialized");
1007
1017
  }
@@ -1108,8 +1118,7 @@ class MarketData extends perpetualDataHandler_1.default {
1108
1118
  if (!this.proxyContract) {
1109
1119
  throw Error("no proxy contract initialized. Use createProxyInstance().");
1110
1120
  }
1111
- let px = await this.proxyContract.getOraclePrice([(0, utils_1.toBytes4)(base), (0, utils_1.toBytes4)(quote)], overrides || {});
1112
- return px == undefined ? undefined : (0, d8XMath_1.ABK64x64ToFloat)(px);
1121
+ return await this.proxyContract.getOraclePrice([(0, utils_1.toBytes4)(base), (0, utils_1.toBytes4)(quote)], overrides || {});
1113
1122
  }
1114
1123
  /**
1115
1124
  * Get the status of an order given a symbol and order Id
@@ -1233,7 +1242,7 @@ class MarketData extends perpetualDataHandler_1.default {
1233
1242
  // fetch from API
1234
1243
  priceInfo = await this.priceFeedGetter.fetchPricesForPerpetual(symbol);
1235
1244
  }
1236
- return await perpetualDataHandler_1.default._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, [priceInfo.s2, priceInfo.s3], //s2,s3
1245
+ return await perpetualDataHandler_1.default._queryPerpetualPrice(symbol, quantity, this.symbolToPerpStaticInfo, this.proxyContract, [priceInfo.s2, priceInfo.s3 ?? 0], //s2,s3
1237
1246
  priceInfo.conf, //conf
1238
1247
  priceInfo.predMktCLOBParams, //params
1239
1248
  overrides);
@@ -1737,6 +1746,7 @@ class MarketData extends perpetualDataHandler_1.default {
1737
1746
  indexPrice: 0,
1738
1747
  collToQuoteIndexPrice: 0,
1739
1748
  markPremium: (0, d8XMath_1.ABK64x64ToFloat)(perp.currentMarkPremiumRate.fPrice),
1749
+ markPrice: 0,
1740
1750
  midPrice: 0,
1741
1751
  currentFundingRateBps: 1e4 * (0, d8XMath_1.ABK64x64ToFloat)(perp.fCurrentFundingRate),
1742
1752
  openInterestBC: (0, d8XMath_1.ABK64x64ToFloat)(perp.fOpenInterest),
@@ -1793,6 +1803,18 @@ class MarketData extends perpetualDataHandler_1.default {
1793
1803
  indexS3 = idxPriceS3Pair[0];
1794
1804
  }
1795
1805
  perp.collToQuoteIndexPrice = indexS3;
1806
+ const emaKey = info.S2Symbol + ":ema";
1807
+ let markPrice;
1808
+ if (idxPriceMap.has(emaKey)) {
1809
+ let ema;
1810
+ let res = idxPriceMap.get(emaKey);
1811
+ ema = res[0];
1812
+ markPrice = ema + perp.markPremium;
1813
+ }
1814
+ else {
1815
+ markPrice = perp.indexPrice * (1 + perp.markPremium);
1816
+ }
1817
+ perp.markPrice = markPrice;
1796
1818
  perp.midPrice = midPriceMap.get(symbol3s);
1797
1819
  // which pool?
1798
1820
  const poolId = info.poolId;
@@ -1 +1 @@
1
- {"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
@@ -119,6 +119,7 @@ export interface PerpetualState {
119
119
  indexPrice: number;
120
120
  collToQuoteIndexPrice: number;
121
121
  markPremium: number;
122
+ markPrice: number;
122
123
  midPrice: number;
123
124
  currentFundingRateBps: number;
124
125
  openInterestBC: number;
@@ -434,10 +435,10 @@ export declare const referralTypes: {
434
435
  };
435
436
  export interface IdxPriceInfo {
436
437
  s2: number;
437
- s3: number;
438
+ s3?: number;
438
439
  ema: number;
439
440
  s2MktClosed: boolean;
440
- s3MktClosed: boolean;
441
+ s3MktClosed?: boolean;
441
442
  conf: bigint;
442
443
  predMktCLOBParams: bigint;
443
444
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nodeSDKTypes.js","sourceRoot":"","sources":["../../src/nodeSDKTypes.ts"],"names":[],"mappings":";;;AA4fA,kBAAkB;AACL,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,iBAAiB;CACxB,CAAC;AACW,QAAA,aAAa,GAAG;IAC3B,+CAA+C;IAC/C,mFAAmF;IACnF,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC;IACD,+CAA+C;IAC/C,uFAAuF;IACvF,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC;IACD,uFAAuF;IACvF,aAAa,EAAE;QACb,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC;CACF,CAAC"}
1
+ {"version":3,"file":"nodeSDKTypes.js","sourceRoot":"","sources":["../../src/nodeSDKTypes.ts"],"names":[],"mappings":";;;AA6fA,kBAAkB;AACL,QAAA,cAAc,GAAG;IAC5B,IAAI,EAAE,iBAAiB;CACxB,CAAC;AACW,QAAA,aAAa,GAAG;IAC3B,+CAA+C;IAC/C,mFAAmF;IACnF,OAAO,EAAE;QACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;QACzC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC;IACD,+CAA+C;IAC/C,uFAAuF;IACvF,WAAW,EAAE;QACX,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;QACxC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE;QACzC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC;IACD,uFAAuF;IACvF,aAAa,EAAE;QACb,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;QAChC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;QACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;KACvC;CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { BaseContract, Contract, Interface, Network, Overrides, Provider, Signer } from "ethers";
2
2
  import { LimitOrderBook, LimitOrderBookFactory, Multicall3 } from "./contracts";
3
+ import { IPerpetualManager } from "./contracts/IPerpetualManager";
3
4
  import { IClientOrder, IPerpetualOrder } from "./contracts/LimitOrderBook";
4
5
  import { TypeSafeOrder, type ClientOrder, type MarginAccount, type NodeSDKConfig, type Order, type PerpetualState, type PerpetualStaticInfo, type PoolStaticInfo, type PriceFeedSubmission, type SmartContractOrder, type PerpetualData, LiquidityPoolData, SettlementConfig, IdxPriceInfo } from "./nodeSDKTypes";
5
6
  import PriceFeeds from "./priceFeeds";
@@ -18,7 +19,7 @@ export default class PerpetualDataHandler {
18
19
  protected symbolToTokenAddrMap: Map<string, string>;
19
20
  chainId: bigint;
20
21
  network: Network;
21
- protected proxyContract: Contract | null;
22
+ protected proxyContract: IPerpetualManager | null;
22
23
  protected proxyABI: Interface;
23
24
  protected proxyAddr: string;
24
25
  protected oraclefactoryAddr: string | undefined;
@@ -176,7 +177,7 @@ export default class PerpetualDataHandler {
176
177
  * @param {Map<string, string>} symbolList mapping of symbols to convert long-format <-> blockchain-format
177
178
  * @returns array with PerpetualStaticInfo for each perpetual
178
179
  */
179
- static getPerpetualStaticInfo(_proxyContract: Contract, nestedPerpetualIDs: Array<Array<number>>, symbolList: Map<string, string>, overrides?: Overrides): Promise<Array<PerpetualStaticInfo>>;
180
+ static getPerpetualStaticInfo(_proxyContract: IPerpetualManager, nestedPerpetualIDs: Array<Array<number>>, symbolList: Map<string, string>, overrides?: Overrides): Promise<Array<PerpetualStaticInfo>>;
180
181
  /**
181
182
  * Breaks up an array of nested arrays into chunks of a specified size.
182
183
  * @param {number} chunkSize The size of each chunk.
@@ -192,7 +193,7 @@ export default class PerpetualDataHandler {
192
193
  * @param overrides optional
193
194
  * @returns array of PerpetualData converted into decimals
194
195
  */
195
- static _getLiquidityPools(fromIdx: number, toIdx: number, _proxyContract: Contract, _symbolList: Map<string, string>, overrides?: Overrides): Promise<LiquidityPoolData[]>;
196
+ static _getLiquidityPools(fromIdx: number, toIdx: number, _proxyContract: IPerpetualManager, _symbolList: Map<string, string>, overrides?: Overrides): Promise<LiquidityPoolData[]>;
196
197
  /**
197
198
  * Query perpetuals
198
199
  * @param ids perpetual ids
@@ -201,8 +202,8 @@ export default class PerpetualDataHandler {
201
202
  * @param overrides optional
202
203
  * @returns array of PerpetualData converted into decimals
203
204
  */
204
- static _getPerpetuals(ids: number[], _proxyContract: Contract, _symbolList: Map<string, string>, overrides?: Overrides): Promise<PerpetualData[]>;
205
- static getPoolStaticInfo(_proxyContract: Contract, overrides?: Overrides): Promise<{
205
+ static _getPerpetuals(ids: number[], _proxyContract: IPerpetualManager, _symbolList: Map<string, string>, overrides?: Overrides): Promise<PerpetualData[]>;
206
+ static getPoolStaticInfo(_proxyContract: IPerpetualManager, overrides?: Overrides): Promise<{
206
207
  nestedPerpetualIDs: Array<Array<number>>;
207
208
  poolShareTokenAddr: Array<string>;
208
209
  poolMarginTokenAddr: Array<string>;
@@ -302,7 +303,7 @@ export default class PerpetualDataHandler {
302
303
  * @returns List of margin accounts
303
304
  */
304
305
  static getMarginAccounts(traderAddrs: string[], symbols: string[], symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _multicall: Multicall3, _proxyContract: Contract, _pxInfo: IdxPriceInfo[], isPredMkt: boolean[], overrides?: Overrides): Promise<MarginAccount[]>;
305
- protected static _queryPerpetualPrice(symbol: string, tradeAmount: number, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: Contract, indexPrices: [number, number], conf: bigint, params: bigint, overrides?: Overrides): Promise<number>;
306
+ protected static _queryPerpetualPrice(symbol: string, tradeAmount: number, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: IPerpetualManager, indexPrices: [number, number], conf: bigint, params: bigint, overrides?: Overrides): Promise<number>;
306
307
  /**
307
308
  *
308
309
  * @param symbol perpetual symbol of the form BTC-USDC-USDC
@@ -313,8 +314,8 @@ export default class PerpetualDataHandler {
313
314
  * @param overrides
314
315
  * @returns mark price
315
316
  */
316
- protected static _queryPerpetualMarkPrice(symbol: string, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: Contract, indexPrices: IdxPriceInfo, isPredMkt: boolean, overrides?: Overrides): Promise<number>;
317
- protected static _queryPerpetualState(symbol: string, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: Contract, _multicall: Multicall3, indexPrices: IdxPriceInfo, overrides?: Overrides): Promise<PerpetualState>;
317
+ protected static _queryPerpetualMarkPrice(symbol: string, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: IPerpetualManager, indexPrices: IdxPriceInfo, isPredMkt: boolean, overrides?: Overrides): Promise<number>;
318
+ protected static _queryPerpetualState(symbol: string, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>, _proxyContract: IPerpetualManager, _multicall: Multicall3, indexPrices: IdxPriceInfo, overrides?: Overrides): Promise<PerpetualState>;
318
319
  /**
319
320
  * Calculate long and short exposures from open interest and long/short
320
321
  * @param oi open interest
@@ -65,7 +65,7 @@ class PerpetualDataHandler {
65
65
  if (network.chainId !== this.chainId) {
66
66
  throw new Error(`Provider: chain id ${network.chainId} does not match config (${this.chainId})`);
67
67
  }
68
- this.proxyContract = new ethers_1.Contract(this.proxyAddr, this.config.proxyABI, signerOrProvider);
68
+ this.proxyContract = contracts_1.IPerpetualManager__factory.connect(this.proxyAddr, signerOrProvider);
69
69
  this.multicall = contracts_1.Multicall3__factory.connect(this.config.multicall ?? constants_1.MULTICALL_ADDRESS, this.signerOrProvider);
70
70
  await this._fillSymbolMaps(overrides);
71
71
  }
@@ -698,7 +698,7 @@ class PerpetualDataHandler {
698
698
  if (isNaN(perpId)) {
699
699
  perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
700
700
  }
701
- let traderState = await _proxyContract.getTraderState(perpId, traderAddr, [_pxInfo.ema, _pxInfo.s3].map((x) => (0, d8XMath_1.floatToABK64x64)(x)), overrides || {});
701
+ let traderState = await _proxyContract.getTraderState(perpId, traderAddr, [_pxInfo.ema, _pxInfo.s3 ?? 0].map((x) => (0, d8XMath_1.floatToABK64x64)(x)), overrides || {});
702
702
  return PerpetualDataHandler.buildMarginAccountFromState(symbol, traderState, symbolToPerpStaticInfo, _pxInfo, isPredMkt);
703
703
  }
704
704
  /**
@@ -869,7 +869,7 @@ class PerpetualDataHandler {
869
869
  callData: _proxyContract.interface.encodeFunctionData("getTraderState", [
870
870
  PerpetualDataHandler.symbolToPerpetualId(symbols[i], symbolToPerpStaticInfo),
871
871
  _addr,
872
- [_pxInfo[i].ema, _pxInfo[i].s3].map((x) => (0, d8XMath_1.floatToABK64x64)(x)),
872
+ [_pxInfo[i].ema, _pxInfo[i].s3 ?? 0].map((x) => (0, d8XMath_1.floatToABK64x64)(x)),
873
873
  ]),
874
874
  }));
875
875
  const encodedResults = await _multicall.aggregate3.staticCall(proxyCalls, overrides || {});
@@ -922,7 +922,7 @@ class PerpetualDataHandler {
922
922
  allowFailure: false,
923
923
  callData: _proxyContract.interface.encodeFunctionData("getAMMState", [
924
924
  perpId,
925
- [indexPrices.s2, indexPrices.s3].map(d8XMath_1.floatToABK64x64),
925
+ [indexPrices.s2, indexPrices.s3 ?? 0].map(d8XMath_1.floatToABK64x64),
926
926
  ]),
927
927
  },
928
928
  {
@@ -967,18 +967,29 @@ class PerpetualDataHandler {
967
967
  else if (staticInfo.collateralCurrencyType == constants_1.CollaterlCCY.QUOTE) {
968
968
  S3 = 1;
969
969
  }
970
+ const isPred = PerpetualDataHandler.isPredictionMarketStatic(staticInfo);
971
+ let markPrice;
972
+ if (isPred) {
973
+ // ema + premium
974
+ markPrice = indexPrices.ema + (0, d8XMath_1.ABK64x64ToFloat)(ammState[8]);
975
+ }
976
+ else {
977
+ // S2 * (1+premium)
978
+ markPrice = indexPrices.s2 * (1 + (0, d8XMath_1.ABK64x64ToFloat)(ammState[8]));
979
+ }
970
980
  let state = {
971
981
  id: perpId,
972
982
  state: constants_1.PERP_STATE_STR[Number(ammState[13])],
973
983
  baseCurrency: ccy[0],
974
984
  quoteCurrency: ccy[1],
975
985
  indexPrice: S2,
976
- collToQuoteIndexPrice: S3,
986
+ collToQuoteIndexPrice: S3 ?? (ccy[0] === ccy[1] ? S2 : 1),
977
987
  markPremium: (0, d8XMath_1.ABK64x64ToFloat)(ammState[8]),
988
+ markPrice: markPrice,
978
989
  midPrice: (0, d8XMath_1.ABK64x64ToFloat)(ammState[10]),
979
990
  currentFundingRateBps: (0, d8XMath_1.ABK64x64ToFloat)(ammState[14]) * 1e4,
980
991
  openInterestBC: (0, d8XMath_1.ABK64x64ToFloat)(ammState[11]),
981
- isMarketClosed: indexPrices.s2MktClosed || indexPrices.s3MktClosed,
992
+ isMarketClosed: indexPrices.s2MktClosed || (indexPrices.s3MktClosed !== undefined && indexPrices.s3MktClosed),
982
993
  longBC: (0, d8XMath_1.ABK64x64ToFloat)(longShort[0]),
983
994
  shortBC: (0, d8XMath_1.ABK64x64ToFloat)(longShort[1]),
984
995
  };