@d8x/perpetuals-sdk 0.1.12 → 0.2.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 (165) hide show
  1. package/dist/cjs/abi/testnet/IPerpetualManager.json +5215 -0
  2. package/dist/cjs/abi/testnet/LimitOrderBook.json +1075 -0
  3. package/dist/cjs/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
  4. package/dist/cjs/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
  5. package/dist/cjs/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
  6. package/dist/cjs/accountTrade.js +441 -0
  7. package/dist/cjs/accountTrade.js.map +1 -0
  8. package/dist/{src → cjs}/brokerTool.js +31 -84
  9. package/dist/cjs/brokerTool.js.map +1 -0
  10. package/dist/cjs/config/defaultConfig.json +47 -0
  11. package/dist/cjs/config/mockSwap.json +4 -0
  12. package/dist/cjs/config/priceFeedConfig.json +104 -0
  13. package/dist/cjs/config/symbolList.json +13 -0
  14. package/dist/cjs/d8XMath.js.map +1 -0
  15. package/dist/cjs/index.js +29 -0
  16. package/dist/cjs/index.js.map +1 -0
  17. package/dist/cjs/liquidatorTool.js +287 -0
  18. package/dist/cjs/liquidatorTool.js.map +1 -0
  19. package/dist/{src → cjs}/liquidityProviderTool.js +12 -65
  20. package/dist/cjs/liquidityProviderTool.js.map +1 -0
  21. package/dist/{src → cjs}/marketData.js +52 -134
  22. package/dist/cjs/marketData.js.map +1 -0
  23. package/dist/{src → cjs}/nodeSDKTypes.d.ts +5 -5
  24. package/dist/cjs/nodeSDKTypes.js +64 -0
  25. package/dist/cjs/nodeSDKTypes.js.map +1 -0
  26. package/dist/{src → cjs}/orderReferrerTool.d.ts +12 -5
  27. package/dist/{src → cjs}/orderReferrerTool.js +114 -112
  28. package/dist/cjs/orderReferrerTool.js.map +1 -0
  29. package/dist/{src → cjs}/perpetualDataHandler.d.ts +1 -1
  30. package/dist/{src → cjs}/perpetualDataHandler.js +47 -109
  31. package/dist/cjs/perpetualDataHandler.js.map +1 -0
  32. package/dist/{src → cjs}/perpetualEventHandler.d.ts +3 -3
  33. package/dist/{src → cjs}/perpetualEventHandler.js +12 -74
  34. package/dist/cjs/perpetualEventHandler.js.map +1 -0
  35. package/dist/cjs/priceFeeds.js +466 -0
  36. package/dist/cjs/priceFeeds.js.map +1 -0
  37. package/dist/{src → cjs}/traderDigests.js +7 -43
  38. package/dist/cjs/traderDigests.js.map +1 -0
  39. package/dist/{src → cjs}/traderInterface.js +13 -66
  40. package/dist/cjs/traderInterface.js.map +1 -0
  41. package/dist/{src → cjs}/triangulator.js +2 -17
  42. package/dist/cjs/triangulator.js.map +1 -0
  43. package/dist/{src → cjs}/utils.js +3 -29
  44. package/dist/cjs/utils.js.map +1 -0
  45. package/dist/cjs/version.d.ts +1 -0
  46. package/dist/{src → cjs}/version.js +1 -1
  47. package/dist/cjs/version.js.map +1 -0
  48. package/dist/{src → cjs}/writeAccessHandler.js +12 -65
  49. package/dist/cjs/writeAccessHandler.js.map +1 -0
  50. package/dist/esm/abi/ERC20.json +288 -0
  51. package/dist/esm/abi/MockTokenSwap.json +186 -0
  52. package/dist/{abi/testnet → esm/abi/central-park}/IPerpetualManager.json +404 -214
  53. package/dist/{abi/testnet → esm/abi/central-park}/LimitOrderBook.json +197 -15
  54. package/dist/esm/abi/central-park/LimitOrderBookFactory.json +135 -0
  55. package/dist/esm/abi/testnet/IPerpetualManager.json +5215 -0
  56. package/dist/esm/abi/testnet/LimitOrderBook.json +1075 -0
  57. package/dist/esm/abi/testnet/LimitOrderBookFactory.json +135 -0
  58. package/dist/esm/abi/zkevmTestnet/IPerpetualManager.json +5215 -0
  59. package/dist/esm/abi/zkevmTestnet/LimitOrderBook.json +1075 -0
  60. package/dist/esm/abi/zkevmTestnet/LimitOrderBookFactory.json +135 -0
  61. package/dist/esm/accountTrade.d.ts +221 -0
  62. package/dist/{src → esm}/accountTrade.js +22 -93
  63. package/dist/esm/accountTrade.js.map +1 -0
  64. package/dist/esm/brokerTool.d.ts +318 -0
  65. package/dist/esm/brokerTool.js +572 -0
  66. package/dist/esm/brokerTool.js.map +1 -0
  67. package/dist/esm/config/defaultConfig.json +47 -0
  68. package/dist/esm/config/mockSwap.json +4 -0
  69. package/dist/esm/config/priceFeedConfig.json +104 -0
  70. package/dist/esm/config/symbolList.json +13 -0
  71. package/dist/esm/d8XMath.d.ts +122 -0
  72. package/dist/esm/d8XMath.js +247 -0
  73. package/dist/esm/d8XMath.js.map +1 -0
  74. package/{src/index.ts → dist/esm/index.d.ts} +1 -15
  75. package/dist/esm/index.js +16 -0
  76. package/dist/esm/index.js.map +1 -0
  77. package/dist/esm/liquidatorTool.d.ts +158 -0
  78. package/dist/{src → esm}/liquidatorTool.js +10 -65
  79. package/dist/esm/liquidatorTool.js.map +1 -0
  80. package/dist/esm/liquidityProviderTool.d.ts +126 -0
  81. package/dist/esm/liquidityProviderTool.js +218 -0
  82. package/dist/esm/liquidityProviderTool.js.map +1 -0
  83. package/dist/esm/marketData.d.ts +309 -0
  84. package/dist/esm/marketData.js +1007 -0
  85. package/dist/esm/marketData.js.map +1 -0
  86. package/dist/esm/nodeSDKTypes.d.ts +266 -0
  87. package/dist/esm/nodeSDKTypes.js +60 -0
  88. package/dist/esm/nodeSDKTypes.js.map +1 -0
  89. package/dist/esm/orderReferrerTool.d.ts +196 -0
  90. package/dist/esm/orderReferrerTool.js +491 -0
  91. package/dist/esm/orderReferrerTool.js.map +1 -0
  92. package/dist/esm/perpetualDataHandler.d.ts +220 -0
  93. package/dist/esm/perpetualDataHandler.js +1060 -0
  94. package/dist/esm/perpetualDataHandler.js.map +1 -0
  95. package/dist/esm/perpetualEventHandler.d.ts +179 -0
  96. package/dist/esm/perpetualEventHandler.js +435 -0
  97. package/dist/esm/perpetualEventHandler.js.map +1 -0
  98. package/dist/esm/priceFeeds.d.ts +115 -0
  99. package/dist/{src → esm}/priceFeeds.js +16 -83
  100. package/dist/esm/priceFeeds.js.map +1 -0
  101. package/dist/esm/traderDigests.d.ts +21 -0
  102. package/dist/esm/traderDigests.js +80 -0
  103. package/dist/esm/traderDigests.js.map +1 -0
  104. package/dist/esm/traderInterface.d.ts +79 -0
  105. package/dist/esm/traderInterface.js +196 -0
  106. package/dist/esm/traderInterface.js.map +1 -0
  107. package/dist/esm/triangulator.d.ts +27 -0
  108. package/dist/esm/triangulator.js +110 -0
  109. package/dist/esm/triangulator.js.map +1 -0
  110. package/dist/esm/utils.d.ts +59 -0
  111. package/dist/esm/utils.js +138 -0
  112. package/dist/esm/utils.js.map +1 -0
  113. package/dist/esm/version.d.ts +1 -0
  114. package/dist/esm/version.js +2 -0
  115. package/dist/esm/version.js.map +1 -0
  116. package/dist/esm/writeAccessHandler.d.ts +50 -0
  117. package/dist/esm/writeAccessHandler.js +157 -0
  118. package/dist/esm/writeAccessHandler.js.map +1 -0
  119. package/package.json +16 -26
  120. package/dist/bundle.js +0 -36793
  121. package/dist/config/defaultConfig.json +0 -47
  122. package/dist/config/mockSwap.json +0 -4
  123. package/dist/config/priceFeedConfig.json +0 -104
  124. package/dist/config/symbolList.json +0 -13
  125. package/dist/src/index.js +0 -45
  126. package/dist/src/nodeSDKTypes.js +0 -115
  127. package/dist/src/version.d.ts +0 -1
  128. package/module.d.ts +0 -1
  129. package/src/accountTrade.ts +0 -392
  130. package/src/brokerTool.ts +0 -507
  131. package/src/d8XMath.ts +0 -319
  132. package/src/liquidatorTool.ts +0 -258
  133. package/src/liquidityProviderTool.ts +0 -186
  134. package/src/marketData.ts +0 -946
  135. package/src/nodeSDKTypes.ts +0 -293
  136. package/src/orderReferrerTool.ts +0 -389
  137. package/src/perpetualDataHandler.ts +0 -1061
  138. package/src/perpetualEventHandler.ts +0 -455
  139. package/src/priceFeeds.ts +0 -381
  140. package/src/traderDigests.ts +0 -91
  141. package/src/traderInterface.ts +0 -159
  142. package/src/triangulator.ts +0 -105
  143. package/src/utils.ts +0 -134
  144. package/src/version.ts +0 -1
  145. package/src/writeAccessHandler.ts +0 -127
  146. /package/dist/{abi → cjs/abi}/ERC20.json +0 -0
  147. /package/dist/{abi → cjs/abi}/MockTokenSwap.json +0 -0
  148. /package/dist/{abi → cjs/abi}/central-park/IPerpetualManager.json +0 -0
  149. /package/dist/{abi → cjs/abi}/central-park/LimitOrderBook.json +0 -0
  150. /package/dist/{abi → cjs/abi}/central-park/LimitOrderBookFactory.json +0 -0
  151. /package/dist/{abi → cjs/abi}/testnet/LimitOrderBookFactory.json +0 -0
  152. /package/dist/{src → cjs}/accountTrade.d.ts +0 -0
  153. /package/dist/{src → cjs}/brokerTool.d.ts +0 -0
  154. /package/dist/{src → cjs}/d8XMath.d.ts +0 -0
  155. /package/dist/{src → cjs}/d8XMath.js +0 -0
  156. /package/dist/{src → cjs}/index.d.ts +0 -0
  157. /package/dist/{src → cjs}/liquidatorTool.d.ts +0 -0
  158. /package/dist/{src → cjs}/liquidityProviderTool.d.ts +0 -0
  159. /package/dist/{src → cjs}/marketData.d.ts +0 -0
  160. /package/dist/{src → cjs}/priceFeeds.d.ts +0 -0
  161. /package/dist/{src → cjs}/traderDigests.d.ts +0 -0
  162. /package/dist/{src → cjs}/traderInterface.d.ts +0 -0
  163. /package/dist/{src → cjs}/triangulator.d.ts +0 -0
  164. /package/dist/{src → cjs}/utils.d.ts +0 -0
  165. /package/dist/{src → cjs}/writeAccessHandler.d.ts +0 -0
@@ -1,76 +1,11 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __values = (this && this.__values) || function(o) {
55
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
56
- if (m) return m.call(o);
57
- if (o && typeof o.length === "number") return {
58
- next: function () {
59
- if (o && i >= o.length) o = void 0;
60
- return { value: o && o[i++], done: !o };
61
- }
62
- };
63
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
64
- };
65
- var __importDefault = (this && this.__importDefault) || function (mod) {
66
- return (mod && mod.__esModule) ? mod : { "default": mod };
67
- };
68
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
69
4
  var ethers_1 = require("ethers");
70
5
  var nodeSDKTypes_1 = require("./nodeSDKTypes");
71
6
  var utils_1 = require("./utils");
72
7
  var d8XMath_1 = require("./d8XMath");
73
- var priceFeeds_1 = __importDefault(require("./priceFeeds"));
8
+ var priceFeeds_1 = tslib_1.__importDefault(require("./priceFeeds"));
74
9
  /**
75
10
  * Parent class for MarketData and WriteAccessHandler that handles
76
11
  * common data and chain operations.
@@ -97,9 +32,9 @@ var PerpetualDataHandler = /** @class */ (function () {
97
32
  this.priceFeedGetter = new priceFeeds_1.default(this, config.priceFeedConfigNetwork);
98
33
  }
99
34
  PerpetualDataHandler.prototype.initContractsAndData = function (signerOrProvider) {
100
- return __awaiter(this, void 0, void 0, function () {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
101
36
  var network, error_1, _a;
102
- return __generator(this, function (_b) {
37
+ return tslib_1.__generator(this, function (_b) {
103
38
  switch (_b.label) {
104
39
  case 0:
105
40
  this.signerOrProvider = signerOrProvider;
@@ -158,9 +93,9 @@ var PerpetualDataHandler = /** @class */ (function () {
158
93
  *
159
94
  */
160
95
  PerpetualDataHandler.prototype._fillSymbolMaps = function (proxyContract) {
161
- return __awaiter(this, void 0, void 0, function () {
96
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
162
97
  var oracleFactoryAddr, _a, requiredPairs, _loop_1, this_1, j;
163
- return __generator(this, function (_b) {
98
+ return tslib_1.__generator(this, function (_b) {
164
99
  switch (_b.label) {
165
100
  case 0:
166
101
  if (proxyContract == null || this.lobFactoryContract == null) {
@@ -175,9 +110,8 @@ var PerpetualDataHandler = /** @class */ (function () {
175
110
  _a.nestedPerpetualIDs = _b.sent();
176
111
  requiredPairs = new Set();
177
112
  _loop_1 = function (j) {
178
- var pool, poolMarginTokenAddr, perpetualIDs, poolCCY, currentSymbols, currentSymbolsS3, currentLimitOrderBookAddr, ccy, initRate, mgnRate, lotSizes, refRebates, k, perp, base, quote, base3, quote3, sym, sym3, lobAddr, info, currentSymbols3, k, idsB32, isPyth;
179
- var _c;
180
- return __generator(this, function (_d) {
113
+ var pool, poolMarginTokenAddr, perpetualIDs, poolCCY, currentSymbols, currentSymbolsS3, currentLimitOrderBookAddr, ccy, initRate, mgnRate, lotSizes, refRebates, k, perp, base, quote, base3, quote3, sym, sym3, lobAddr, info, currentSymbols3, k, _c, idsB32;
114
+ return tslib_1.__generator(this, function (_d) {
181
115
  switch (_d.label) {
182
116
  case 0: return [4 /*yield*/, proxyContract.getLiquidityPool(j + 1)];
183
117
  case 1:
@@ -260,10 +194,9 @@ var PerpetualDataHandler = /** @class */ (function () {
260
194
  _d.label = 7;
261
195
  case 7:
262
196
  if (!(k < perpetualIDs.length)) return [3 /*break*/, 10];
263
- idsB32 = void 0, isPyth = void 0;
264
197
  return [4 /*yield*/, proxyContract.getPriceInfo(perpetualIDs[k])];
265
198
  case 8:
266
- _c = __read.apply(void 0, [_d.sent(), 2]), idsB32 = _c[0], isPyth = _c[1];
199
+ _c = tslib_1.__read.apply(void 0, [_d.sent(), 1]), idsB32 = _c[0];
267
200
  this_1.symbolToPerpStaticInfo.set(currentSymbols3[k], {
268
201
  id: perpetualIDs[k],
269
202
  limitOrderBookAddr: currentLimitOrderBookAddr[k],
@@ -350,8 +283,8 @@ var PerpetualDataHandler = /** @class */ (function () {
350
283
  * @returns PriceFeedSubmission and prices for S2 and S3. [S2price, 0] if S3 not defined.
351
284
  */
352
285
  PerpetualDataHandler.prototype.fetchPriceSubmissionInfoForPerpetual = function (symbol) {
353
- return __awaiter(this, void 0, void 0, function () {
354
- return __generator(this, function (_a) {
286
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
287
+ return tslib_1.__generator(this, function (_a) {
355
288
  switch (_a.label) {
356
289
  case 0: return [4 /*yield*/, this.priceFeedGetter.fetchFeedPriceInfoAndIndicesForPerpetual(symbol)];
357
290
  case 1:
@@ -382,8 +315,8 @@ var PerpetualDataHandler = /** @class */ (function () {
382
315
  * and corresponding price information
383
316
  */
384
317
  PerpetualDataHandler.prototype.fetchLatestFeedPriceInfo = function (symbol) {
385
- return __awaiter(this, void 0, void 0, function () {
386
- return __generator(this, function (_a) {
318
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
319
+ return tslib_1.__generator(this, function (_a) {
387
320
  switch (_a.label) {
388
321
  case 0: return [4 /*yield*/, this.priceFeedGetter.fetchLatestFeedPriceInfoForPerpetual(symbol)];
389
322
  case 1: return [2 /*return*/, _a.sent()];
@@ -423,9 +356,9 @@ var PerpetualDataHandler = /** @class */ (function () {
423
356
  return j + 1;
424
357
  };
425
358
  PerpetualDataHandler.getNestedPerpetualIds = function (_proxyContract) {
426
- return __awaiter(this, void 0, void 0, function () {
359
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
427
360
  var poolCount, poolIds, i, perpetualCount, j, id;
428
- return __generator(this, function (_a) {
361
+ return tslib_1.__generator(this, function (_a) {
429
362
  switch (_a.label) {
430
363
  case 0: return [4 /*yield*/, _proxyContract.getPoolCount()];
431
364
  case 1:
@@ -471,7 +404,7 @@ var PerpetualDataHandler = /** @class */ (function () {
471
404
  var cash = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_cash]);
472
405
  var S2Liq = 0, S3Liq = 0, tau = Infinity, pnl = 0, unpaidFundingCC = 0, fLockedIn = ethers_1.BigNumber.from(0), side = nodeSDKTypes_1.CLOSED_SIDE, entryPrice = 0;
473
406
  if (!isEmpty) {
474
- _a = __read(PerpetualDataHandler._calculateLiquidationPrice(symbol, traderState, _pxS2S3[0], symbolToPerpStaticInfo), 5), S2Liq = _a[0], S3Liq = _a[1], tau = _a[2], pnl = _a[3], unpaidFundingCC = _a[4];
407
+ _a = tslib_1.__read(PerpetualDataHandler._calculateLiquidationPrice(symbol, traderState, _pxS2S3[0], symbolToPerpStaticInfo), 5), S2Liq = _a[0], S3Liq = _a[1], tau = _a[2], pnl = _a[3], unpaidFundingCC = _a[4];
475
408
  fLockedIn = traderState[idx_locked_in];
476
409
  side = traderState[idx_locked_in].gt(0) ? nodeSDKTypes_1.BUY_SIDE : nodeSDKTypes_1.SELL_SIDE;
477
410
  entryPrice = (0, d8XMath_1.ABK64x64ToFloat)((0, d8XMath_1.div64x64)(fLockedIn, traderState[idx_notional]));
@@ -493,9 +426,9 @@ var PerpetualDataHandler = /** @class */ (function () {
493
426
  return mgn;
494
427
  };
495
428
  PerpetualDataHandler.getMarginAccount = function (traderAddr, symbol, symbolToPerpStaticInfo, _proxyContract, _pxS2S3) {
496
- return __awaiter(this, void 0, void 0, function () {
429
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
497
430
  var perpId, traderState;
498
- return __generator(this, function (_a) {
431
+ return tslib_1.__generator(this, function (_a) {
499
432
  switch (_a.label) {
500
433
  case 0:
501
434
  perpId = Number(symbol);
@@ -511,9 +444,9 @@ var PerpetualDataHandler = /** @class */ (function () {
511
444
  });
512
445
  };
513
446
  PerpetualDataHandler._queryPerpetualPrice = function (symbol, tradeAmount, symbolToPerpStaticInfo, _proxyContract, indexPrices) {
514
- return __awaiter(this, void 0, void 0, function () {
447
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
515
448
  var perpId, fIndexPrices, fPrice;
516
- return __generator(this, function (_a) {
449
+ return tslib_1.__generator(this, function (_a) {
517
450
  switch (_a.label) {
518
451
  case 0:
519
452
  perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
@@ -527,13 +460,13 @@ var PerpetualDataHandler = /** @class */ (function () {
527
460
  });
528
461
  };
529
462
  PerpetualDataHandler._queryPerpetualMarkPrice = function (symbol, symbolToPerpStaticInfo, _proxyContract, indexPrices) {
530
- return __awaiter(this, void 0, void 0, function () {
463
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
531
464
  var perpId, _a, S2, S3, ammState;
532
- return __generator(this, function (_b) {
465
+ return tslib_1.__generator(this, function (_b) {
533
466
  switch (_b.label) {
534
467
  case 0:
535
468
  perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
536
- _a = __read(indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x == undefined || Number.isNaN(x) ? 0 : x); }), 2), S2 = _a[0], S3 = _a[1];
469
+ _a = tslib_1.__read(indexPrices.map(function (x) { return (0, d8XMath_1.floatToABK64x64)(x == undefined || Number.isNaN(x) ? 0 : x); }), 2), S2 = _a[0], S3 = _a[1];
537
470
  return [4 /*yield*/, _proxyContract.getAMMState(perpId, [S2, S3])];
538
471
  case 1:
539
472
  ammState = _b.sent();
@@ -543,15 +476,15 @@ var PerpetualDataHandler = /** @class */ (function () {
543
476
  });
544
477
  };
545
478
  PerpetualDataHandler._queryPerpetualState = function (symbol, symbolToPerpStaticInfo, _proxyContract, indexPrices) {
546
- return __awaiter(this, void 0, void 0, function () {
479
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
547
480
  var perpId, staticInfo, ccy, _a, S2, S3, ammState, markPrice, state;
548
- return __generator(this, function (_b) {
481
+ return tslib_1.__generator(this, function (_b) {
549
482
  switch (_b.label) {
550
483
  case 0:
551
484
  perpId = PerpetualDataHandler.symbolToPerpetualId(symbol, symbolToPerpStaticInfo);
552
485
  staticInfo = symbolToPerpStaticInfo.get(symbol);
553
486
  ccy = symbol.split("-");
554
- _a = __read([indexPrices[0], indexPrices[1]], 2), S2 = _a[0], S3 = _a[1];
487
+ _a = tslib_1.__read([indexPrices[0], indexPrices[1]], 2), S2 = _a[0], S3 = _a[1];
555
488
  if (staticInfo.collateralCurrencyType == nodeSDKTypes_1.CollaterlCCY.BASE) {
556
489
  S3 = S2;
557
490
  }
@@ -595,7 +528,7 @@ var PerpetualDataHandler = /** @class */ (function () {
595
528
  var idx_locked_in = 5;
596
529
  var idx_mark_price = 8;
597
530
  var idx_s3 = 9;
598
- var idx_s2 = 10;
531
+ // const idx_s2 = 10;
599
532
  var S2Liq;
600
533
  var S3Liq = (0, d8XMath_1.ABK64x64ToFloat)(traderState[idx_s3]);
601
534
  var perpInfo = symbolToPerpStaticInfo.get(symbol);
@@ -658,7 +591,7 @@ var PerpetualDataHandler = /** @class */ (function () {
658
591
  var _b;
659
592
  var symbol;
660
593
  try {
661
- for (var _c = __values(symbolToPerpStaticInfo.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
594
+ for (var _c = tslib_1.__values(symbolToPerpStaticInfo.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
662
595
  symbol = _d.value;
663
596
  if (((_b = symbolToPerpStaticInfo.get(symbol)) === null || _b === void 0 ? void 0 : _b.id) == id) {
664
597
  return symbol;
@@ -692,8 +625,8 @@ var PerpetualDataHandler = /** @class */ (function () {
692
625
  PerpetualDataHandler._getByValue = function (map, searchValue, valueField) {
693
626
  var e_2, _a;
694
627
  try {
695
- for (var _b = __values(map.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
696
- var _d = __read(_c.value, 2), key = _d[0], value = _d[1];
628
+ for (var _b = tslib_1.__values(map.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {
629
+ var _d = tslib_1.__read(_c.value, 2), key = _d[0], value = _d[1];
697
630
  if (value[valueField] === searchValue) {
698
631
  return key;
699
632
  }
@@ -748,7 +681,7 @@ var PerpetualDataHandler = /** @class */ (function () {
748
681
  leverage: (0, d8XMath_1.ABK64x64ToFloat)(ethers_1.BigNumber.from(order.fLeverage)),
749
682
  deadline: Number(order.iDeadline),
750
683
  timestamp: Number(order.createdTimestamp),
751
- submittedBlock: Number(order.submittedBlock),
684
+ submittedTimestamp: Number(order.submittedTimestamp),
752
685
  };
753
686
  return userOrder;
754
687
  };
@@ -760,6 +693,9 @@ var PerpetualDataHandler = /** @class */ (function () {
760
693
  * @returns SmartContractOrder
761
694
  */
762
695
  PerpetualDataHandler.toSmartContractOrder = function (order, traderAddr, perpStaticInfo) {
696
+ // this revers if order is invalid
697
+ PerpetualDataHandler.checkOrder(order, perpStaticInfo);
698
+ // translate order
763
699
  var flags = PerpetualDataHandler._orderTypeToFlag(order);
764
700
  var brokerSig = order.brokerSignature == undefined ? [] : order.brokerSignature;
765
701
  var perpetualId = PerpetualDataHandler.symbolToPerpetualId(order.symbol, perpStaticInfo);
@@ -800,7 +736,7 @@ var PerpetualDataHandler = /** @class */ (function () {
800
736
  fLeverage: order.leverage == undefined ? ethers_1.BigNumber.from(0) : (0, d8XMath_1.floatToABK64x64)(order.leverage),
801
737
  iDeadline: ethers_1.BigNumber.from(Math.round(iDeadline)),
802
738
  createdTimestamp: ethers_1.BigNumber.from(Math.round(order.timestamp)),
803
- submittedBlock: 0,
739
+ submittedTimestamp: 0,
804
740
  };
805
741
  return smOrder;
806
742
  };
@@ -987,7 +923,7 @@ var PerpetualDataHandler = /** @class */ (function () {
987
923
  }
988
924
  else {
989
925
  if (version === undefined) {
990
- configFile = configFile.sort(function (conf) { return -conf.version; });
926
+ configFile = configFile.sort(function (conf) { return conf.version; });
991
927
  return configFile[0];
992
928
  }
993
929
  else {
@@ -1024,7 +960,7 @@ var PerpetualDataHandler = /** @class */ (function () {
1024
960
  }
1025
961
  else {
1026
962
  if (version === undefined) {
1027
- configFile = configFile.sort(function (conf) { return -conf.version; });
963
+ configFile = configFile.sort(function (conf) { return conf.version; });
1028
964
  return configFile[0];
1029
965
  }
1030
966
  else {
@@ -1089,20 +1025,22 @@ var PerpetualDataHandler = /** @class */ (function () {
1089
1025
  * @param traderAccount Trader account
1090
1026
  * @param perpStaticInfo Symbol to perpetual info map
1091
1027
  */
1092
- PerpetualDataHandler.checkOrder = function (order, traderAccount, perpStaticInfo) {
1093
- // this throws error if not found
1094
- var perpetualId = PerpetualDataHandler.symbolToPerpetualId(order.symbol, perpStaticInfo);
1028
+ PerpetualDataHandler.checkOrder = function (order,
1029
+ // traderAccount: MarginAccount,
1030
+ perpStaticInfo) {
1095
1031
  // check side
1096
1032
  if (order.side != nodeSDKTypes_1.BUY_SIDE && order.side != nodeSDKTypes_1.SELL_SIDE) {
1097
1033
  throw Error("order side must be ".concat(nodeSDKTypes_1.BUY_SIDE, " or ").concat(nodeSDKTypes_1.SELL_SIDE));
1098
1034
  }
1099
1035
  // check amount
1100
1036
  var lotSize = perpStaticInfo.get(order.symbol).lotSizeBC;
1101
- var curPos = traderAccount.side == nodeSDKTypes_1.CLOSED_SIDE
1102
- ? 0
1103
- : (traderAccount.side == nodeSDKTypes_1.BUY_SIDE ? 1 : -1) * traderAccount.positionNotionalBaseCCY;
1104
- var newPos = curPos + (order.side == nodeSDKTypes_1.BUY_SIDE ? 1 : -1) * order.quantity;
1105
- if (Math.abs(order.quantity) < lotSize || (Math.abs(newPos) >= lotSize && Math.abs(newPos) < 10 * lotSize)) {
1037
+ // let curPos =
1038
+ // traderAccount.side == CLOSED_SIDE
1039
+ // ? 0
1040
+ // : (traderAccount.side == BUY_SIDE ? 1 : -1) * traderAccount.positionNotionalBaseCCY;
1041
+ // let newPos = curPos + (order.side == BUY_SIDE ? 1 : -1) * order.quantity;
1042
+ // if (Math.abs(order.quantity) < lotSize || (Math.abs(newPos) >= lotSize && Math.abs(newPos) < 10 * lotSize)) {
1043
+ if (Math.abs(order.quantity) < lotSize) {
1106
1044
  throw Error("trade amount too small: ".concat(order.quantity, " ").concat(perpStaticInfo.get(order.symbol).S2Symbol));
1107
1045
  }
1108
1046
  // check limit price
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perpetualDataHandler.js","sourceRoot":"","sources":["../../src/perpetualDataHandler.ts"],"names":[],"mappings":"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"}
@@ -126,7 +126,7 @@ export default class PerpetualEventHandler {
126
126
  * @param Order order struct
127
127
  * @param digest order id
128
128
  */
129
- onPerpetualLimitOrderCreated(perpetualId: number, trader: string, referrerAddr: string, brokerAddr: string, Order: SmartContractOrder, digest: string): void;
129
+ onPerpetualLimitOrderCreated(perpetualId: number, trader: string, _referrerAddr: string, _brokerAddr: string, Order: SmartContractOrder, digest: string): void;
130
130
  /**
131
131
  * This function is async -> queries the margin account
132
132
  * @param perpetualId id of the perpetual
@@ -138,7 +138,7 @@ export default class PerpetualEventHandler {
138
138
  * @param fFundingPaymentCC funding payment made
139
139
  * @param fOpenInterestBC open interest
140
140
  */
141
- onUpdateMarginAccount(perpetualId: number, trader: string, positionId: string, fPositionBC: BigNumber, fCashCC: BigNumber, fLockedInValueQC: BigNumber, fFundingPaymentCC: BigNumber, fOpenInterestBC: BigNumber): Promise<void>;
141
+ onUpdateMarginAccount(perpetualId: number, trader: string, _positionId: string, _fPositionBC: BigNumber, _fCashCC: BigNumber, _fLockedInValueQC: BigNumber, _fFundingPaymentCC: BigNumber, fOpenInterestBC: BigNumber): Promise<void>;
142
142
  /**
143
143
  *
144
144
  * @param perpetualId perpetual id
@@ -150,7 +150,7 @@ export default class PerpetualEventHandler {
150
150
  * @param price price in ABDK format
151
151
  * @returns trade event data in regular number format
152
152
  */
153
- onTrade(perpetualId: number, trader: string, positionId: string, order: SmartContractOrder, orderDigest: string, newPositionSizeBC: BigNumber, price: BigNumber): TradeEvent;
153
+ onTrade(perpetualId: number, _trader: string, positionId: string, _order: SmartContractOrder, orderDigest: string, newPositionSizeBC: BigNumber, _price: BigNumber): TradeEvent;
154
154
  /**
155
155
  * static function to find the number of the OrderStruct with given orderId
156
156
  * @param orderId id/digest of order
@@ -1,68 +1,6 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- var __read = (this && this.__read) || function (o, n) {
39
- var m = typeof Symbol === "function" && o[Symbol.iterator];
40
- if (!m) return o;
41
- var i = m.call(o), r, ar = [], e;
42
- try {
43
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
44
- }
45
- catch (error) { e = { error: error }; }
46
- finally {
47
- try {
48
- if (r && !r.done && (m = i["return"])) m.call(i);
49
- }
50
- finally { if (e) throw e.error; }
51
- }
52
- return ar;
53
- };
54
- var __values = (this && this.__values) || function(o) {
55
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
56
- if (m) return m.call(o);
57
- if (o && typeof o.length === "number") return {
58
- next: function () {
59
- if (o && i >= o.length) o = void 0;
60
- return { value: o && o[i++], done: !o };
61
- }
62
- };
63
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
64
- };
65
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
66
4
  var process_1 = require("process");
67
5
  var d8XMath_1 = require("./d8XMath");
68
6
  var nodeSDKTypes_1 = require("./nodeSDKTypes");
@@ -105,9 +43,9 @@ var PerpetualEventHandler = /** @class */ (function () {
105
43
  * market data
106
44
  */
107
45
  PerpetualEventHandler.prototype.initialize = function () {
108
- return __awaiter(this, void 0, void 0, function () {
46
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
109
47
  var _a, k, poolState, poolSymbol, j, perpState, perpSymbol, orders, perpId, position;
110
- return __generator(this, function (_b) {
48
+ return tslib_1.__generator(this, function (_b) {
111
49
  switch (_b.label) {
112
50
  case 0:
113
51
  _a = this;
@@ -217,9 +155,9 @@ var PerpetualEventHandler = /** @class */ (function () {
217
155
  * @param perpetualIdOrSymbol perpetual id as string ('100003') or symbol ('BTC-USD-MATIC')
218
156
  */
219
157
  PerpetualEventHandler.prototype.updatePrices = function (perpetualIdOrSymbol) {
220
- return __awaiter(this, void 0, void 0, function () {
158
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
221
159
  var perpId, symbol, sym, perpState, perp;
222
- return __generator(this, function (_a) {
160
+ return tslib_1.__generator(this, function (_a) {
223
161
  switch (_a.label) {
224
162
  case 0:
225
163
  perpId = Number(perpetualIdOrSymbol);
@@ -261,7 +199,7 @@ var PerpetualEventHandler = /** @class */ (function () {
261
199
  * @returns void
262
200
  */
263
201
  PerpetualEventHandler.prototype.onUpdateMarkPrice = function (perpetualId, fMidPricePremium, fMarkPricePremium, fSpotIndexPrice) {
264
- var _a = __read(PerpetualEventHandler.ConvertUpdateMarkPrice(fMidPricePremium, fMarkPricePremium, fSpotIndexPrice), 3), newMidPrice = _a[0], newMarkPrice = _a[1], newIndexPrice = _a[2];
202
+ var _a = tslib_1.__read(PerpetualEventHandler.ConvertUpdateMarkPrice(fMidPricePremium, fMarkPricePremium, fSpotIndexPrice), 3), newMidPrice = _a[0], newMarkPrice = _a[1], newIndexPrice = _a[2];
265
203
  var perpetual = this.getPerpetualData(perpetualId.toString());
266
204
  if (perpetual == undefined) {
267
205
  return;
@@ -344,7 +282,7 @@ var PerpetualEventHandler = /** @class */ (function () {
344
282
  * @param Order order struct
345
283
  * @param digest order id
346
284
  */
347
- PerpetualEventHandler.prototype.onPerpetualLimitOrderCreated = function (perpetualId, trader, referrerAddr, brokerAddr, Order, digest) {
285
+ PerpetualEventHandler.prototype.onPerpetualLimitOrderCreated = function (perpetualId, trader, _referrerAddr, _brokerAddr, Order, digest) {
348
286
  if (trader != this.traderAddr) {
349
287
  (0, process_1.emitWarning)("onPerpetualLimitOrderCreated: trader ".concat(trader, " not relevant"));
350
288
  return;
@@ -371,10 +309,10 @@ var PerpetualEventHandler = /** @class */ (function () {
371
309
  * @param fFundingPaymentCC funding payment made
372
310
  * @param fOpenInterestBC open interest
373
311
  */
374
- PerpetualEventHandler.prototype.onUpdateMarginAccount = function (perpetualId, trader, positionId, fPositionBC, fCashCC, fLockedInValueQC, fFundingPaymentCC, fOpenInterestBC) {
375
- return __awaiter(this, void 0, void 0, function () {
312
+ PerpetualEventHandler.prototype.onUpdateMarginAccount = function (perpetualId, trader, _positionId, _fPositionBC, _fCashCC, _fLockedInValueQC, _fFundingPaymentCC, fOpenInterestBC) {
313
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
376
314
  var perpetual, perpetualIdStr, margin;
377
- return __generator(this, function (_a) {
315
+ return tslib_1.__generator(this, function (_a) {
378
316
  switch (_a.label) {
379
317
  case 0:
380
318
  perpetual = this.getPerpetualData(perpetualId.toString());
@@ -407,7 +345,7 @@ var PerpetualEventHandler = /** @class */ (function () {
407
345
  * @param price price in ABDK format
408
346
  * @returns trade event data in regular number format
409
347
  */
410
- PerpetualEventHandler.prototype.onTrade = function (perpetualId, trader, positionId, order, orderDigest, newPositionSizeBC, price) {
348
+ PerpetualEventHandler.prototype.onTrade = function (perpetualId, _trader, positionId, _order, orderDigest, newPositionSizeBC, _price) {
411
349
  // remove order digest from open orders
412
350
  var orderStructs = this.ordersInPerpetual.get(perpetualId);
413
351
  if (orderStructs == undefined) {
@@ -437,7 +375,7 @@ var PerpetualEventHandler = /** @class */ (function () {
437
375
  /*orderMapMap<number, {
438
376
  orders: Order[];
439
377
  orderIds: string[];*/
440
- for (var _b = __values(orderMap.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
378
+ for (var _b = tslib_1.__values(orderMap.keys()), _c = _b.next(); !_c.done; _c = _b.next()) {
441
379
  var perpId = _c.value;
442
380
  var orderStructs = orderMap.get(perpId);
443
381
  if (orderStructs === null || orderStructs === void 0 ? void 0 : orderStructs.orderIds.includes(orderId)) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perpetualEventHandler.js","sourceRoot":"","sources":["../../src/perpetualEventHandler.ts"],"names":[],"mappings":"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"}